1. 13 May, 2009 36 commits
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 32/56] gst/deinterlace2/gstdeinterlace2.c: Don't use... · 060ba0ed
      Sebastian Dröge authored
      [MOVED FROM BAD 32/56] gst/deinterlace2/gstdeinterlace2.c: Don't use proxy_getcaps() but implement our own getcaps() function that doubles/h...
      
      Original commit message from CVS:
      * gst/deinterlace2/gstdeinterlace2.c: (gst_deinterlace2_init),
      (gst_greatest_common_divisor), (gst_fraction_double),
      (gst_deinterlace2_getcaps), (gst_deinterlace2_setcaps):
      Don't use proxy_getcaps() but implement our own getcaps() function
      that doubles/halfs the framerate if all fields should be sent out.
      060ba0ed
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 31/56] Disable the tomsmocomp algorithm for this release as... · fdd3d272
      Sebastian Dröge authored
      [MOVED FROM BAD 31/56] Disable the tomsmocomp algorithm for this release as it's buggy and has no C implementation yet.
      
      Original commit message from CVS:
      * configure.ac:
      * gst/deinterlace2/Makefile.am:
      * gst/deinterlace2/gstdeinterlace2.c:
      (gst_deinterlace2_methods_get_type), (gst_deinterlace2_set_method),
      (gst_deinterlace2_class_init), (gst_deinterlace2_init):
      * gst/deinterlace2/gstdeinterlace2.h:
      * gst/deinterlace2/tvtime/greedy.c:
      (gst_deinterlace_method_greedy_l_class_init):
      * gst/deinterlace2/tvtime/greedyh.c:
      (gst_deinterlace_method_greedy_h_class_init):
      * gst/deinterlace2/tvtime/vfir.c:
      (gst_deinterlace_method_vfir_class_init):
      Disable the tomsmocomp algorithm for this release as it's buggy
      and has no C implementation yet.
      Build the deinterlace2 plugin on all architectures but still mark it
      as experimental.
      Build the x86 inline assembly only if GCC inline assembly is supported
      and only on x86 or amd64. Fixes bug #543286.
      fdd3d272
    • Edward Hervey's avatar
      [MOVED FROM BAD 30/56] gst/deinterlace2/tvtime/: Fix build on x86_64 · 74aedd07
      Edward Hervey authored
      Original commit message from CVS:
      * gst/deinterlace2/tvtime/greedy.c:
      (gst_deinterlace_method_greedy_l_class_init):
      * gst/deinterlace2/tvtime/greedyh.c:
      (gst_deinterlace_method_greedy_h_class_init):
      * gst/deinterlace2/tvtime/vfir.c:
      (gst_deinterlace_method_vfir_class_init):
      Fix build on x86_64
      74aedd07
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 29/56] gst/deinterlace2/tvtime/greedyh.asm: Always use the C... · 239face7
      Sebastian Dröge authored
      [MOVED FROM BAD 29/56] gst/deinterlace2/tvtime/greedyh.asm: Always use the C implementation if width is not a multiple of 4. The assembly op...
      
      Original commit message from CVS:
      * gst/deinterlace2/tvtime/greedyh.asm:
      Always use the C implementation if width is not a multiple of 4. The
      assembly optimized version only handle this and calling the C
      implementation for the remaining part doesn't work because it needs
      previous calculations.
      239face7
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 28/56] gst/deinterlace2/tvtime/: Some cleanup, use 3DNOW... · 868975cf
      Sebastian Dröge authored
      [MOVED FROM BAD 28/56] gst/deinterlace2/tvtime/: Some cleanup, use 3DNOW instead of TDNOW in macros.
      
      Original commit message from CVS:
      * gst/deinterlace2/tvtime/greedyh.asm:
      * gst/deinterlace2/tvtime/greedyh.c:
      * gst/deinterlace2/tvtime/greedyhmacros.h:
      Some cleanup, use 3DNOW instead of TDNOW in macros.
      * gst/deinterlace2/tvtime/tomsmocomp.c:
      (gst_deinterlace_method_tomsmocomp_class_init):
      * gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/tomsmocompmacros.h:
      The SSE method in fact only needs MMXEXT, declare it as such.
      868975cf
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 27/56] Don't use declarations after statements in the remaining code. · 311a1d2c
      Sebastian Dröge authored
      Original commit message from CVS:
      * ext/spc/gstspc.c: (spc_setup):
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopTop.inc:
      Don't use declarations after statements in the remaining code.
      311a1d2c
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 26/56] gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll2.inc:... · e6c4d268
      Sebastian Dröge authored
      [MOVED FROM BAD 26/56] gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll2.inc: Mark internal processing functions as static inline for quite ...
      
      Original commit message from CVS:
      * gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll2.inc:
      Mark internal processing functions as static inline for quite some
      speedup as they're used only once and need to get many local variables
      passed as parameter.
      e6c4d268
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 25/56] gst/deinterlace2/gstdeinterlace2.*: Call the current... · 0b3fb303
      Sebastian Dröge authored
      [MOVED FROM BAD 25/56] gst/deinterlace2/gstdeinterlace2.*: Call the current instance "self" instead of "object".
      
      Original commit message from CVS:
      * gst/deinterlace2/gstdeinterlace2.c:
      (gst_deinterlace_method_deinterlace_frame),
      (gst_deinterlace2_set_method), (gst_deinterlace2_init),
      (gst_deinterlace2_reset_history), (gst_deinterlace2_reset),
      (gst_deinterlace2_set_property), (gst_deinterlace2_get_property),
      (gst_deinterlace2_pop_history), (gst_deinterlace2_head_history),
      (gst_deinterlace2_push_history), (gst_deinterlace2_chain),
      (gst_deinterlace2_setcaps), (gst_deinterlace2_sink_event),
      (gst_deinterlace2_change_state), (gst_deinterlace2_src_event),
      (gst_deinterlace2_src_query):
      * gst/deinterlace2/gstdeinterlace2.h:
      Call the current instance "self" instead of "object".
      0b3fb303
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 24/56] gst/deinterlace2/gstdeinterlace2.*: Include latency of... · 0b9cd418
      Sebastian Dröge authored
      [MOVED FROM BAD 24/56] gst/deinterlace2/gstdeinterlace2.*: Include latency of the method in the returned latency.
      
      Original commit message from CVS:
      * gst/deinterlace2/gstdeinterlace2.c:
      (gst_deinterlace_method_get_latency),
      (gst_deinterlace2_set_method), (gst_deinterlace2_class_init),
      (gst_deinterlace2_push_history), (gst_deinterlace2_chain),
      (gst_deinterlace2_setcaps), (gst_deinterlace2_src_query):
      * gst/deinterlace2/gstdeinterlace2.h:
      Include latency of the method in the returned latency.
      Fix outputting of all fields, i.e. doubling of the framerate.
      0b9cd418
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 23/56] gst/deinterlace2/: Use a GstObject subtype for the... · fb7f06ad
      Sebastian Dröge authored
      [MOVED FROM BAD 23/56] gst/deinterlace2/: Use a GstObject subtype for the deinterlacing methods and export the different settings for each d...
      
      Original commit message from CVS:
      * gst/deinterlace2/Makefile.am:
      * gst/deinterlace2/gstdeinterlace2.c:
      (gst_deinterlace_method_class_init), (gst_deinterlace_method_init),
      (gst_deinterlace_method_deinterlace_frame),
      (gst_deinterlace_method_get_fields_required),
      (gst_deinterlace2_methods_get_type), (_do_init),
      (gst_deinterlace2_set_method), (gst_deinterlace2_class_init),
      (gst_deinterlace2_child_proxy_get_child_by_index),
      (gst_deinterlace2_child_proxy_get_children_count),
      (gst_deinterlace2_child_proxy_interface_init),
      (gst_deinterlace2_init), (gst_deinterlace2_finalize),
      (gst_deinterlace2_chain), (gst_deinterlace2_src_query):
      * gst/deinterlace2/gstdeinterlace2.h:
      * gst/deinterlace2/tvtime/greedy.c:
      (deinterlace_greedy_packed422_scanline_c),
      (deinterlace_greedy_packed422_scanline_mmx),
      (deinterlace_greedy_packed422_scanline_mmxext),
      (deinterlace_frame_di_greedy),
      (gst_deinterlace_method_greedy_l_set_property),
      (gst_deinterlace_method_greedy_l_get_property),
      (gst_deinterlace_method_greedy_l_class_init),
      (gst_deinterlace_method_greedy_l_init):
      * gst/deinterlace2/tvtime/greedyh.asm:
      * gst/deinterlace2/tvtime/greedyh.c: (greedyDScaler_C),
      (deinterlace_frame_di_greedyh),
      (gst_deinterlace_method_greedy_h_set_property),
      (gst_deinterlace_method_greedy_h_get_property),
      (gst_deinterlace_method_greedy_h_class_init),
      (gst_deinterlace_method_greedy_h_init):
      * gst/deinterlace2/tvtime/greedyh.h:
      * gst/deinterlace2/tvtime/plugins.h:
      * gst/deinterlace2/tvtime/tomsmocomp.c:
      (gst_deinterlace_method_tomsmocomp_set_property),
      (gst_deinterlace_method_tomsmocomp_get_property),
      (gst_deinterlace_method_tomsmocomp_class_init),
      (gst_deinterlace_method_tomsmocomp_init):
      * gst/deinterlace2/tvtime/tomsmocomp.h:
      * gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll.inc:
      * gst/deinterlace2/tvtime/vfir.c: (deinterlace_frame_vfir),
      (gst_deinterlace_method_vfir_class_init),
      (gst_deinterlace_method_vfir_init):
      Use a GstObject subtype for the deinterlacing methods and export
      the different settings for each deinterlacing method via GObject
      properties.
      Implement GstChildProxy interface to allow access to the used
      deinterlacing method and to allow adjusting the different settings.
      Move global variables of the tomsmocomp deinterlacing method into
      function local variables to make it possible to use this deinterlacing
      method from different instances.
      fb7f06ad
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 22/56] gst/deinterlace2/tvtime/greedyh.asm: Support widths... · e5231e56
      Sebastian Dröge authored
      [MOVED FROM BAD 22/56] gst/deinterlace2/tvtime/greedyh.asm: Support widths that are not a multiply of 4 when using the assembly optimized gr...
      
      Original commit message from CVS:
      * gst/deinterlace2/tvtime/greedyh.asm:
      Support widths that are not a multiply of 4 when using the assembly
      optimized greedyh implementations.
      e5231e56
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 21/56] gst/deinterlace2/tvtime/greedyh.c: Only build the... · fe02b124
      Sebastian Dröge authored
      [MOVED FROM BAD 21/56] gst/deinterlace2/tvtime/greedyh.c: Only build the assembly optimized implementations on x86.
      
      Original commit message from CVS:
      * gst/deinterlace2/tvtime/greedyh.c:
      (deinterlace_frame_di_greedyh):
      Only build the assembly optimized implementations on x86.
      fe02b124
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 20/56] gst/deinterlace2/: Remove useless file and mark... · edf1f9b4
      Sebastian Dröge authored
      [MOVED FROM BAD 20/56] gst/deinterlace2/: Remove useless file and mark everything possible as static.
      
      Original commit message from CVS:
      * gst/deinterlace2/Makefile.am:
      * gst/deinterlace2/tvtime/tomsmocomp.c: (tomsmocomp_init),
      (tomsmocomp_filter_mmx), (tomsmocomp_filter_3dnow),
      (tomsmocomp_filter_sse), (deinterlace_frame_di_tomsmocomp):
      * gst/deinterlace2/tvtime/tomsmocomp.h:
      Remove useless file and mark everything possible as static.
      * gst/deinterlace2/tvtime/greedy.c:
      * gst/deinterlace2/tvtime/greedyh.c:
      Use "_stdint.h" instead of <stdint.h>.
      edf1f9b4
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 19/56] gst/deinterlace2/: Get rid of speedy.[ch] as we don't... · b65e20f3
      Sebastian Dröge authored
      [MOVED FROM BAD 19/56] gst/deinterlace2/: Get rid of speedy.[ch] as we don't use most of it's code anyway and it doesn't seem to be relicens...
      
      Original commit message from CVS:
      * gst/deinterlace2/Makefile.am:
      * gst/deinterlace2/gstdeinterlace2.c: (gst_deinterlace2_init):
      * gst/deinterlace2/tvtime/greedy.c: (deinterlace_frame_di_greedy):
      * gst/deinterlace2/tvtime/greedyh.c:
      (deinterlace_frame_di_greedyh):
      * gst/deinterlace2/tvtime/speedtools.h:
      * gst/deinterlace2/tvtime/speedy.c:
      * gst/deinterlace2/tvtime/speedy.h:
      * gst/deinterlace2/tvtime/tomsmocomp.c: (Fieldcopy):
      * gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll.inc:
      * gst/deinterlace2/tvtime/vfir.c: (deinterlace_frame_vfir):
      Get rid of speedy.[ch] as we don't use most of it's code anyway
      and it doesn't seem to be relicensed to LGPL. Use memcpy() instead
      of the speedy memcpy everywhere instead.
      * gst/deinterlace2/gstdeinterlace2.h:
      Remove many unused declarations.
      b65e20f3
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 18/56] gst/deinterlace2/gstdeinterlace2.c: Divide latency be 2... · 8f588978
      Sebastian Dröge authored
      [MOVED FROM BAD 18/56] gst/deinterlace2/gstdeinterlace2.c: Divide latency be 2 to convert from fields to frames.
      
      Original commit message from CVS:
      * gst/deinterlace2/gstdeinterlace2.c: (gst_deinterlace2_src_query):
      Divide latency be 2 to convert from fields to frames.
      8f588978
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 17/56] gst/deinterlace2/tvtime/greedy.c: Don't use scanlines... · ee8327b9
      Sebastian Dröge authored
      [MOVED FROM BAD 17/56] gst/deinterlace2/tvtime/greedy.c: Don't use scanlines function from gstdeinterlace2 as it's not appropiate for this m...
      
      Original commit message from CVS:
      * gst/deinterlace2/tvtime/greedy.c:
      (deinterlace_greedy_packed422_scanline_c),
      (deinterlace_greedy_packed422_scanline_mmx),
      (deinterlace_greedy_packed422_scanline_mmxext),
      (deinterlace_frame_di_greedy):
      Don't use scanlines function from gstdeinterlace2 as it's
      not appropiate for this method. Instead implement deinterlace_frame
      function by taking the one from greedyh.
      * gst/deinterlace2/tvtime/greedyh.c: (greedyDScaler_C):
      Small fix for the C implementation.
      * gst/deinterlace2/tvtime/vfir.c: (deinterlace_frame_vfir):
      Don't use the scanlines function from gstdeinterlace2 as it's only
      used for this method and will be removed. Instead implement
      deinterlace_frame function and make it a bit more efficient.
      * gst/deinterlace2/gstdeinterlace2.c:
      (gst_deinterlace2_class_init), (gst_deinterlace2_set_method),
      (gst_deinterlace2_push_history), (gst_deinterlace2_chain),
      (gst_deinterlace2_setcaps), (gst_deinterlace2_sink_event),
      (gst_deinterlace2_change_state), (gst_deinterlace2_src_event),
      (gst_deinterlace2_src_query):
      Fix coding style and remove scanlines function as it's unused now.
      ee8327b9
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 16/56] gst/deinterlace2/tvtime/: Add a C implementation for... · 57dd0e85
      Sebastian Dröge authored
      [MOVED FROM BAD 16/56] gst/deinterlace2/tvtime/: Add a C implementation for the greedyh deinterlacing method, clean up the code a bit and ma...
      
      Original commit message from CVS:
      * gst/deinterlace2/tvtime/greedyh.asm:
      * gst/deinterlace2/tvtime/greedyh.c: (greedyDScaler_C),
      (deinterlace_frame_di_greedyh), (dscaler_greedyh_get_method):
      * gst/deinterlace2/tvtime/greedyhmacros.h:
      Add a C implementation for the greedyh deinterlacing method, clean
      up the code a bit and mark the SSE version as MMXEXT as it doesn't
      require any SSE instructions.
      57dd0e85
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 15/56] gst/deinterlace2/gstdeinterlace2.c: If we're outputting... · 07f408a3
      Sebastian Dröge authored
      [MOVED FROM BAD 15/56] gst/deinterlace2/gstdeinterlace2.c: If we're outputting all fields the framerate has to be doubled.
      
      Original commit message from CVS:
      * gst/deinterlace2/gstdeinterlace2.c:
      (gst_deinterlace2_set_property), (gst_deinterlace2_chain),
      (gst_deinterlace2_setcaps):
      If we're outputting all fields the framerate has to be doubled.
      Set duration on the outgoing buffers.
      07f408a3
    • Edward Hervey's avatar
      [MOVED FROM BAD 14/56] gst/deinterlace2/tvtime/tomsmocomp/tomsmocompmacros.h:... · 75bb2fcb
      Edward Hervey authored
      [MOVED FROM BAD 14/56] gst/deinterlace2/tvtime/tomsmocomp/tomsmocompmacros.h: Remove unneeded macros that break build on macosx.
      
      Original commit message from CVS:
      * gst/deinterlace2/tvtime/tomsmocomp/tomsmocompmacros.h:
      Remove unneeded macros that break build on macosx.
      75bb2fcb
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 13/56] gst/deinterlace2/tvtime/greedy.c: Optimize MMX/MMXEXT... · 229f6a37
      Sebastian Dröge authored
      [MOVED FROM BAD 13/56] gst/deinterlace2/tvtime/greedy.c: Optimize MMX/MMXEXT implementations a bit by requiring two less memory accesses and...
      
      Original commit message from CVS:
      * gst/deinterlace2/tvtime/greedy.c:
      (deinterlace_greedy_packed422_scanline_mmx),
      (deinterlace_greedy_packed422_scanline_mmxext):
      Optimize MMX/MMXEXT implementations a bit by requiring two less
      memory accesses and fix the workaround for the missing right shift
      on bytes to unset the highest bit of every byte.
      229f6a37
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 12/56] gst/deinterlace2/tvtime/greedy.c: Remove sfence... · 72f7b157
      Sebastian Dröge authored
      [MOVED FROM BAD 12/56] gst/deinterlace2/tvtime/greedy.c: Remove sfence instruction as it's not needed and actually is an SSE instruction.
      
      Original commit message from CVS:
      * gst/deinterlace2/tvtime/greedy.c:
      (deinterlace_greedy_packed422_scanline_mmxext):
      Remove sfence instruction as it's not needed and actually is an SSE
      instruction.
      72f7b157
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 11/56] gst/deinterlace2/tvtime/greedy.c: Add plain MMX... · df1798dd
      Sebastian Dröge authored
      [MOVED FROM BAD 11/56] gst/deinterlace2/tvtime/greedy.c: Add plain MMX implementation for the greedyl method.
      
      Original commit message from CVS:
      * gst/deinterlace2/tvtime/greedy.c:
      (deinterlace_greedy_packed422_scanline_mmx),
      (deinterlace_greedy_packed422_scanline):
      Add plain MMX implementation for the greedyl method.
      df1798dd
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 10/56] gst/deinterlace2/Makefile.am: Move the assembly... · bd35b535
      Sebastian Dröge authored
      [MOVED FROM BAD 10/56] gst/deinterlace2/Makefile.am: Move the assembly includes to noinst_HEADERS where they belong.
      
      Original commit message from CVS:
      * gst/deinterlace2/Makefile.am:
      Move the assembly includes to noinst_HEADERS where they belong.
      * gst/deinterlace2/tvtime/vfir.c: (deinterlace_line_c),
      (deinterlace_line_mmx):
      Fix C and MMX implementations a bit more.
      bd35b535
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 09/56] gst/deinterlace2/tvtime/greedy.c: Fix the C... · 1916a3b0
      Sebastian Dröge authored
      [MOVED FROM BAD 09/56] gst/deinterlace2/tvtime/greedy.c: Fix the C implementation to produce correct results and optimize the
      
      Original commit message from CVS:
      * gst/deinterlace2/tvtime/greedy.c:
      (deinterlace_greedy_packed422_scanline_c),
      (deinterlace_greedy_packed422_scanline_mmxext),
      (deinterlace_greedy_packed422_scanline):
      Fix the C implementation to produce correct results and optimize the
      MMXEXT implementation.
      Handle odd widths and don't read over array boundaries in the MMXEXT
      implementation.
      * gst/deinterlace2/tvtime/vfir.c: (deinterlace_line_c),
      (deinterlace_line_mmx), (deinterlace_scanline_vfir):
      Fix a small rounding bug in the MMX implementation, the MMX
      implementation doesn't actually need MMXEXT instructions so don't mark
      it as such.
      Handle odd widths in both implementations.
      1916a3b0
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 08/56] gst/deinterlace2/tvtime/greedy.c: Implement a C version... · 98eddc85
      Sebastian Dröge authored
      [MOVED FROM BAD 08/56] gst/deinterlace2/tvtime/greedy.c: Implement a C version of the greedy low motion algorithm and mark the assembly opti...
      
      Original commit message from CVS:
      * gst/deinterlace2/tvtime/greedy.c:
      (deinterlace_greedy_packed422_scanline_sse),
      (deinterlace_greedy_packed422_scanline_c),
      (deinterlace_greedy_packed422_scanline):
      Implement a C version of the greedy low motion algorithm and mark the
      assembly optimized version as SSE as it uses SSE instructions
      additional to MMX instructions.
      98eddc85
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 07/56] gst/deinterlace2/tvtime/vfir.c: Make it possible to use... · 6cc147c5
      Sebastian Dröge authored
      [MOVED FROM BAD 07/56] gst/deinterlace2/tvtime/vfir.c: Make it possible to use the vfir method on X86 CPUs without MMXEXT too but use the MM...
      
      Original commit message from CVS:
      * gst/deinterlace2/tvtime/vfir.c: (deinterlace_line_mmxext),
      (deinterlace_line_c), (deinterlace_scanline_vfir):
      Make it possible to use the vfir method on X86 CPUs without MMXEXT too
      but use the MMXEXT optimized code whenever possible.
      6cc147c5
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 06/56] gst/deinterlace2/gstdeinterlace2.*: Reset element state... · e094cde9
      Sebastian Dröge authored
      [MOVED FROM BAD 06/56] gst/deinterlace2/gstdeinterlace2.*: Reset element state on PAUSED->READY properly, don't leak any buffers when finali...
      
      Original commit message from CVS:
      * gst/deinterlace2/gstdeinterlace2.c:
      (gst_deinterlace2_class_init), (gst_deinterlace2_init),
      (gst_deinterlace2_reset_history), (gst_deinterlace2_reset),
      (gst_deinterlace2_finalize), (gst_deinterlace2_chain),
      (gst_deinterlace2_sink_event), (gst_deinterlace2_change_state),
      (gst_deinterlace2_src_query):
      * gst/deinterlace2/gstdeinterlace2.h:
      Reset element state on PAUSED->READY properly, don't leak any buffers
      when finalizing, allocate buffers with gst_pad_alloc_buffer() and
      properly return flow returns from gst_pad_push() instead of ignoring them.
      e094cde9
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 05/56] gst/deinterlace2/tvtime/tomsmocomp/tomsmocompmacros.h: Add missing header. · 478f1705
      Sebastian Dröge authored
      Original commit message from CVS:
      * gst/deinterlace2/tvtime/tomsmocomp/tomsmocompmacros.h:
      Add missing header.
      478f1705
    • Sebastian Dröge's avatar
      [MOVED FROM BAD 04/56] Fix compilation on generic x86/amd64 and include... · 8a90334f
      Sebastian Dröge authored
      [MOVED FROM BAD 04/56] Fix compilation on generic x86/amd64 and include deinterlace2 in the build system. Because of several bugs it's still...
      
      Original commit message from CVS:
      * configure.ac:
      * gst/deinterlace2/Makefile.am:
      * gst/deinterlace2/tvtime/greedyh.asm:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopBottom.inc:
      Fix compilation on generic x86/amd64 and include deinterlace2 in the
      build system. Because of several bugs it's still enabled only
      by --enable-experimental.
      8a90334f
    • Stefan Kost's avatar
      [MOVED FROM BAD 03/56] Fix gtk-doc warnings. Also don't misuse api-doc... · 9082a429
      Stefan Kost authored
      [MOVED FROM BAD 03/56] Fix gtk-doc warnings. Also don't misuse api-doc comments for normal comments.
      
      Original commit message from CVS:
      * docs/plugins/gst-plugins-bad-plugins-sections.txt:
      * examples/app/appsrc-ra.c:
      * examples/app/appsrc-seekable.c:
      * examples/app/appsrc-stream.c:
      * examples/app/appsrc-stream2.c:
      * ext/directfb/dfbvideosink.h:
      * ext/metadata/gstbasemetadata.c:
      * ext/metadata/gstbasemetadata.h:
      * ext/metadata/metadata.c:
      * ext/metadata/metadataexif.c:
      * ext/theora/theoradec.h:
      * gst/deinterlace2/gstdeinterlace2.h:
      * gst/deinterlace2/tvtime/speedy.c:
      * gst/deinterlace2/tvtime/speedy.h:
      * gst/deinterlace2/tvtime/vfir.c:
      Fix gtk-doc warnings. Also don't misuse api-doc comments for normal
      comments.
      9082a429
    • Martin Eikermann's avatar
      [MOVED FROM BAD 02/56] gst/deinterlace2/: Add a deinterlacer plugin based on... · 5799a933
      Martin Eikermann authored
      [MOVED FROM BAD 02/56] gst/deinterlace2/: Add a deinterlacer plugin based on the tvtime/DScaler deinterlacer, which was relicensed to LGPL f...
      
      Original commit message from CVS:
      Based on a patch by: Martin Eikermann <meiker at upb dot de>
      * gst/deinterlace2/Makefile.am:
      * gst/deinterlace2/gstdeinterlace2.c:
      (gst_deinterlace2_method_get_type),
      (gst_deinterlace2_fields_get_type),
      (gst_deinterlace2_field_layout_get_type),
      (gst_deinterlace2_base_init), (gst_deinterlace2_class_init),
      (gst_deinterlace2_init), (gst_deinterlace2_set_method),
      (gst_deinterlace2_set_property), (gst_deinterlace2_get_property),
      (gst_deinterlace2_finalize), (gst_deinterlace2_pop_history),
      (gst_deinterlace2_head_history), (gst_deinterlace2_push_history),
      (gst_deinterlace2_deinterlace_scanlines), (gst_deinterlace2_chain),
      (gst_deinterlace2_setcaps), (gst_deinterlace2_sink_event),
      (gst_deinterlace2_change_state), (gst_deinterlace2_src_event),
      (gst_deinterlace2_src_query), (gst_deinterlace2_src_query_types),
      (plugin_init):
      * gst/deinterlace2/gstdeinterlace2.h:
      * gst/deinterlace2/tvtime/greedy.c: (copy_scanline),
      (deinterlace_greedy_packed422_scanline_mmxext),
      (dscaler_greedyl_get_method):
      * gst/deinterlace2/tvtime/greedyh.asm:
      * gst/deinterlace2/tvtime/greedyh.c:
      (deinterlace_frame_di_greedyh), (dscaler_greedyh_get_method),
      (greedyh_init), (greedyh_filter_mmx), (greedyh_filter_3dnow),
      (greedyh_filter_sse):
      * gst/deinterlace2/tvtime/greedyh.h:
      * gst/deinterlace2/tvtime/greedyhmacros.h:
      * gst/deinterlace2/tvtime/mmx.h:
      * gst/deinterlace2/tvtime/plugins.h:
      * gst/deinterlace2/tvtime/speedtools.h:
      * gst/deinterlace2/tvtime/speedy.c: (multiply_alpha), (clip255),
      (comb_factor_packed422_scanline_mmx),
      (diff_factor_packed422_scanline_c),
      (diff_factor_packed422_scanline_mmx),
      (diff_packed422_block8x8_mmx), (diff_packed422_block8x8_c),
      (packed444_to_packed422_scanline_c),
      (packed422_to_packed444_scanline_c),
      (packed422_to_packed444_rec601_scanline_c),
      (vfilter_chroma_121_packed422_scanline_mmx),
      (vfilter_chroma_121_packed422_scanline_c),
      (vfilter_chroma_332_packed422_scanline_mmx),
      (vfilter_chroma_332_packed422_scanline_c),
      (kill_chroma_packed422_inplace_scanline_mmx),
      (kill_chroma_packed422_inplace_scanline_c),
      (invert_colour_packed422_inplace_scanline_mmx),
      (invert_colour_packed422_inplace_scanline_c),
      (mirror_packed422_inplace_scanline_c),
      (interpolate_packed422_scanline_c),
      (convert_uyvy_to_yuyv_scanline_mmx),
      (convert_uyvy_to_yuyv_scanline_c),
      (interpolate_packed422_scanline_mmx),
      (interpolate_packed422_scanline_mmxext),
      (blit_colour_packed422_scanline_c),
      (blit_colour_packed422_scanline_mmx),
      (blit_colour_packed422_scanline_mmxext),
      (blit_colour_packed4444_scanline_c),
      (blit_colour_packed4444_scanline_mmx),
      (blit_colour_packed4444_scanline_mmxext), (small_memcpy),
      (speedy_memcpy_c), (speedy_memcpy_mmx), (speedy_memcpy_mmxext),
      (blit_packed422_scanline_c), (blit_packed422_scanline_mmx),
      (blit_packed422_scanline_mmxext),
      (composite_colour4444_alpha_to_packed422_scanline_c),
      (composite_colour4444_alpha_to_packed422_scanline_mmxext),
      (composite_packed4444_alpha_to_packed422_scanline_c),
      (composite_packed4444_alpha_to_packed422_scanline_mmxext),
      (composite_packed4444_to_packed422_scanline_c),
      (composite_packed4444_to_packed422_scanline_mmxext),
      (composite_alphamask_to_packed4444_scanline_c),
      (composite_alphamask_to_packed4444_scanline_mmxext),
      (composite_alphamask_alpha_to_packed4444_scanline_c),
      (premultiply_packed4444_scanline_c),
      (premultiply_packed4444_scanline_mmxext),
      (blend_packed422_scanline_c), (blend_packed422_scanline_mmxext),
      (quarter_blit_vertical_packed422_scanline_mmxext),
      (quarter_blit_vertical_packed422_scanline_c),
      (subpix_blit_vertical_packed422_scanline_c),
      (a8_subpix_blit_scanline_c), (myround), (init_RGB_to_YCbCr_tables),
      (init_YCbCr_to_RGB_tables), (rgb24_to_packed444_rec601_scanline_c),
      (rgba32_to_packed4444_rec601_scanline_c),
      (packed444_to_rgb24_rec601_scanline_c),
      (packed444_to_nonpremultiplied_packed4444_scanline_c),
      (aspect_adjust_packed4444_scanline_c), (setup_speedy_calls),
      (speedy_get_accel):
      * gst/deinterlace2/tvtime/speedy.h:
      * gst/deinterlace2/tvtime/sse.h:
      * gst/deinterlace2/tvtime/tomsmocomp.c: (Fieldcopy),
      (deinterlace_frame_di_tomsmocomp), (dscaler_tomsmocomp_get_method),
      (tomsmocomp_init), (tomsmocomp_filter_mmx),
      (tomsmocomp_filter_3dnow), (tomsmocomp_filter_sse):
      * gst/deinterlace2/tvtime/tomsmocomp.h:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoop0A.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopBottom.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopEdgeA.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopEdgeA8.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopOddA.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopOddA2.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopOddA6.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopOddAH.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopOddAH2.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopTop.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopVA.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopVAH.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/StrangeBob.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll2.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/WierdBob.inc:
      * gst/deinterlace2/tvtime/vfir.c: (deinterlace_line),
      (deinterlace_scanline_vfir), (copy_scanline),
      (dscaler_vfir_get_method):
      * gst/deinterlace2/tvtime/x86-64_macros.inc:
      Add a deinterlacer plugin based on the tvtime/DScaler deinterlacer,
      which was relicensed to LGPL for GStreamer and in theory provides
      better and faster results than the simple deinterlace element.
      Fixes bug #163578.
      Ported to GStreamer 0.10 but still not enabled or included in the
      build system by default because of bad artefacts caused by a bug
      somewhere and as it can be only build on x86/amd64 ATM and requires
      special CFLAGS. Will be fixed soon.
      5799a933
    • Martin Eikermann's avatar
      [MOVED FROM BAD 01/56] gst/deinterlace2/: Add a deinterlacer plugin based on... · 0518c150
      Martin Eikermann authored
      [MOVED FROM BAD 01/56] gst/deinterlace2/: Add a deinterlacer plugin based on the tvtime/DScaler deinterlacer, which was relicensed to LGPL f...
      
      Original commit message from CVS:
      Based on a patch by: Martin Eikermann <meiker at upb dot de>
      * gst/deinterlace2/Makefile.am:
      * gst/deinterlace2/gstdeinterlace2.c:
      (gst_deinterlace2_method_get_type),
      (gst_deinterlace2_fields_get_type),
      (gst_deinterlace2_field_layout_get_type),
      (gst_deinterlace2_base_init), (gst_deinterlace2_class_init),
      (gst_deinterlace2_init), (gst_deinterlace2_set_method),
      (gst_deinterlace2_set_property), (gst_deinterlace2_get_property),
      (gst_deinterlace2_finalize), (gst_deinterlace2_pop_history),
      (gst_deinterlace2_head_history), (gst_deinterlace2_push_history),
      (gst_deinterlace2_deinterlace_scanlines), (gst_deinterlace2_chain),
      (gst_deinterlace2_setcaps), (gst_deinterlace2_sink_event),
      (gst_deinterlace2_change_state), (gst_deinterlace2_src_event),
      (gst_deinterlace2_src_query), (gst_deinterlace2_src_query_types),
      (plugin_init):
      * gst/deinterlace2/gstdeinterlace2.h:
      * gst/deinterlace2/tvtime/greedy.c: (copy_scanline),
      (deinterlace_greedy_packed422_scanline_mmxext),
      (dscaler_greedyl_get_method):
      * gst/deinterlace2/tvtime/greedyh.asm:
      * gst/deinterlace2/tvtime/greedyh.c:
      (deinterlace_frame_di_greedyh), (dscaler_greedyh_get_method),
      (greedyh_init), (greedyh_filter_mmx), (greedyh_filter_3dnow),
      (greedyh_filter_sse):
      * gst/deinterlace2/tvtime/greedyh.h:
      * gst/deinterlace2/tvtime/greedyhmacros.h:
      * gst/deinterlace2/tvtime/mmx.h:
      * gst/deinterlace2/tvtime/plugins.h:
      * gst/deinterlace2/tvtime/speedtools.h:
      * gst/deinterlace2/tvtime/speedy.c: (multiply_alpha), (clip255),
      (comb_factor_packed422_scanline_mmx),
      (diff_factor_packed422_scanline_c),
      (diff_factor_packed422_scanline_mmx),
      (diff_packed422_block8x8_mmx), (diff_packed422_block8x8_c),
      (packed444_to_packed422_scanline_c),
      (packed422_to_packed444_scanline_c),
      (packed422_to_packed444_rec601_scanline_c),
      (vfilter_chroma_121_packed422_scanline_mmx),
      (vfilter_chroma_121_packed422_scanline_c),
      (vfilter_chroma_332_packed422_scanline_mmx),
      (vfilter_chroma_332_packed422_scanline_c),
      (kill_chroma_packed422_inplace_scanline_mmx),
      (kill_chroma_packed422_inplace_scanline_c),
      (invert_colour_packed422_inplace_scanline_mmx),
      (invert_colour_packed422_inplace_scanline_c),
      (mirror_packed422_inplace_scanline_c),
      (interpolate_packed422_scanline_c),
      (convert_uyvy_to_yuyv_scanline_mmx),
      (convert_uyvy_to_yuyv_scanline_c),
      (interpolate_packed422_scanline_mmx),
      (interpolate_packed422_scanline_mmxext),
      (blit_colour_packed422_scanline_c),
      (blit_colour_packed422_scanline_mmx),
      (blit_colour_packed422_scanline_mmxext),
      (blit_colour_packed4444_scanline_c),
      (blit_colour_packed4444_scanline_mmx),
      (blit_colour_packed4444_scanline_mmxext), (small_memcpy),
      (speedy_memcpy_c), (speedy_memcpy_mmx), (speedy_memcpy_mmxext),
      (blit_packed422_scanline_c), (blit_packed422_scanline_mmx),
      (blit_packed422_scanline_mmxext),
      (composite_colour4444_alpha_to_packed422_scanline_c),
      (composite_colour4444_alpha_to_packed422_scanline_mmxext),
      (composite_packed4444_alpha_to_packed422_scanline_c),
      (composite_packed4444_alpha_to_packed422_scanline_mmxext),
      (composite_packed4444_to_packed422_scanline_c),
      (composite_packed4444_to_packed422_scanline_mmxext),
      (composite_alphamask_to_packed4444_scanline_c),
      (composite_alphamask_to_packed4444_scanline_mmxext),
      (composite_alphamask_alpha_to_packed4444_scanline_c),
      (premultiply_packed4444_scanline_c),
      (premultiply_packed4444_scanline_mmxext),
      (blend_packed422_scanline_c), (blend_packed422_scanline_mmxext),
      (quarter_blit_vertical_packed422_scanline_mmxext),
      (quarter_blit_vertical_packed422_scanline_c),
      (subpix_blit_vertical_packed422_scanline_c),
      (a8_subpix_blit_scanline_c), (myround), (init_RGB_to_YCbCr_tables),
      (init_YCbCr_to_RGB_tables), (rgb24_to_packed444_rec601_scanline_c),
      (rgba32_to_packed4444_rec601_scanline_c),
      (packed444_to_rgb24_rec601_scanline_c),
      (packed444_to_nonpremultiplied_packed4444_scanline_c),
      (aspect_adjust_packed4444_scanline_c), (setup_speedy_calls),
      (speedy_get_accel):
      * gst/deinterlace2/tvtime/speedy.h:
      * gst/deinterlace2/tvtime/sse.h:
      * gst/deinterlace2/tvtime/tomsmocomp.c: (Fieldcopy),
      (deinterlace_frame_di_tomsmocomp), (dscaler_tomsmocomp_get_method),
      (tomsmocomp_init), (tomsmocomp_filter_mmx),
      (tomsmocomp_filter_3dnow), (tomsmocomp_filter_sse):
      * gst/deinterlace2/tvtime/tomsmocomp.h:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoop0A.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopBottom.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopEdgeA.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopEdgeA8.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopOddA.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopOddA2.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopOddA6.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopOddAH.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopOddAH2.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopTop.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopVA.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopVAH.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/StrangeBob.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll2.inc:
      * gst/deinterlace2/tvtime/tomsmocomp/WierdBob.inc:
      * gst/deinterlace2/tvtime/vfir.c: (deinterlace_line),
      (deinterlace_scanline_vfir), (copy_scanline),
      (dscaler_vfir_get_method):
      * gst/deinterlace2/tvtime/x86-64_macros.inc:
      Add a deinterlacer plugin based on the tvtime/DScaler deinterlacer,
      which was relicensed to LGPL for GStreamer and in theory provides
      better and faster results than the simple deinterlace element.
      Fixes bug #163578.
      Ported to GStreamer 0.10 but still not enabled or included in the
      build system by default because of bad artefacts caused by a bug
      somewhere and as it can be only build on x86/amd64 ATM and requires
      special CFLAGS. Will be fixed soon.
      0518c150
    • Sebastian Dröge's avatar
      2a362d14
    • Tim-Philipp Müller's avatar
      checks: fix flacdec unit tests on big-endian machines and under valgrind · 0c4b6ee2
      Tim-Philipp Müller authored
      Flacdec outputs 16-bit samples, so let's check if the value of the first
      sample is what we expect rather than just the first byte, which may be
      different from what we expect depending on the host's endianness. Fixes
      the flacdec unit tests on PPC. Also fix a bunch of leaks in the unit
      tests to make valgrind happy. Fixes #582420.
      0c4b6ee2
    • Tim-Philipp Müller's avatar
      flacdec: fix buffer leak · 8accf270
      Tim-Philipp Müller authored
      gst_buffer_replace() will take its own ref, so we still have
      to unref the buffer if we don't need it any longer.
      8accf270
    • Sebastian Dröge's avatar
      avidemux: Fix pointer arithmetic · e93f784e
      Sebastian Dröge authored
      This fixes a seeking regression, bug #134522.
      e93f784e
  2. 12 May, 2009 4 commits