2006-06-13    <mschimek@users.sf.net>

	* Prerelease 0.10cvs6.

2006-06-11    <mschimek@users.sf.net>

	* src/tveng.c (tveng_attach_device): Must not access xv_port_id
	  field when Xv support not compiled in.

	* configure.in: Replaced lrint() link check by compile
	  and link check. CFLAGS changes have no effect after AC_PROG_CC,
	  added AC_GNU_SOURCE instead of -D_GNU_SOURCE.
	* src/zvbi.c: Undefined lrint() because config.h was not
	  included.

2006-06-07    <mschimek@users.sf.net>

	* configure.in: Replaced lrint() link check by compile check
	  because it's a macro in glibc.

	* src/main.c (MAIN), src/globals.c: 
	* src/audio.c (mixer_setup, devices_audio_apply, startup_audio): 
	* src/audio.c (loopback_start): Added preliminary support for ivtv
	  audio device.

	* src/tveng25.c (read_frame), src/tveng1.c (read_frame): Assert
	  tv_copy_image() success.

	* libtv/copy_image.c (tv_copy_image):
	* test/copy_image.c (test): HM12 not supported yet, no complaints
	  please.

	* test/convert_image.c (all_formats): Fixed the HM12 check.

	* plugins/deinterlace/DI_GreedyH/DI_GreedyH.c: SSE version was not
	  compiled because the SSE_INT checks were backwards.

2006-06-06    <mschimek@users.sf.net>

	* test/convert_image.c, libtv/lut_yuv2rgb-gen.c: Did not define a
	  replacement in case lrint() is unavailable.

	* src/tvengbktr.c (tvengbktr_attach_device): Fixed
	  struct private_tvengbktr_device_info name,

	* src/tveng.c: Did not define PRIx64 if missing in inttypes.h. 

	* libtv/Makefile.am (libtv_la_SOURCES): copy_image-priv.h was
	  missing.

2006-05-29    <mschimek@users.sf.net>

	* configure.in: Run function checks with -D_GNU_SOURCE
	  because we also compile with this flag.

	* src/capture.c: Added some log points.

	* src/tveng25.c (image_format_from_format): Uninitialized
	  bytes-per-line fix.
	(read_buffer): Disable ivtv read work-around because this bug
	  seems to be fixed.

	* src/tveng1.c: Added code to read back the pixel format requested
	  with VIDIOCSPICT because the v4l1-compat module does not return
	  an error when the format is unsupported. Perhaps some drivers
	  have similar bugs.

2006-05-18    <mschimek@users.sf.net>

	* src/tveng25.c (tveng25_attach_device): Added a work-around
	  for cx88 which sets the overlay capability flag but doesn't
	  really support overlay, causing Zapping to try the V4L API
	  instead.

2006-05-17    <mschimek@users.sf.net>

	* src/tveng1.c: s/TVENG25_XV_TEST/TVENG1_XV_TEST.

	* src/tveng25.c (read_buffer): Preliminary work-around for ivtv
	  YUV read size bug. Use HM12 instead of NV12 format with ivtv
	  driver.

	* src/tveng.c (YUVHACK): Added TV_PIXFMT_HM12.
	* libtv/image_format.c (tv_image_format_init): Added TV_PIXFMT_HM12.
	* libtv/clear_image.c (tv_clear_image): Added TV_PIXFMT_HM12.
	* test/convert_image.c: Added _tv_hm12_to_yuv420() test.
	* src/csconvert.c (startup_csconvert): Added _tv_hm12_to_yuv420().
	* libtv/yuv2yuv.h, libtv/yuv2yuv.c (_tv_hm12_to_yuv420): Added
	  converter from ivtv YUV format to planar YUV 4:2:0.
	* libtv/pixel_format.c (tv_pixfmt_name, pixel_formats):
	  Added TV_PIXFMT_HM12.
	* libtv/pixel_format.h (tv_pixfmt, TV_PIXFMT_SET_YUV_PLANAR):
	  Added TV_PIXFMT_HM12. 

2006-05-11    <mschimek@users.sf.net>

	* src/tveng25.c (read_buffer),
	  common/device.h, common/device.c (device_read): Added read()
	  logging.
	* src/tveng25.c (set_capture_format): Handle EBUSY error of ivtv
	  VIDIOC_S_FMT.
	(enable_capture, streamoff_or_reopen): Try to reopen the device
	  if VIDIOC_STREAMOFF doesn't succeed after read()ing.

2006-05-07    <mschimek@users.sf.net>

	* common/structpr_gen.pl (enumeration): ILP64 fixes.

2006-04-28    <mschimek@users.sf.net>

	* libvbi/caption_decoder.c (vbi3_caption_decoder_feed): Executed
	  repeated control codes twice if interrupted by data on the
	  second field.

2006-04-24    <mschimek@users.sf.net>

	* src/frequencies.c, src/strnatcmp.h, src/strnatcmp.c:
	  strnatcmp no longer used, files removed.
	* src/error_console.c: No longer used, file removed.

	* configure.in (ALL_LINGUAS): Added ja.
	* po/ja.po: New Japanese translation contributed by Hiroshi Hasebe.

2006-04-12    <mschimek@users.sf.net>

	* src/tveng25.c (get_capabilities): Added a no-overlay test.
	* src/main.c (restore_last_capture_mode): Disable capture or overlay
	  GUI elements if the device does not support it. Try capture OR
	  overlay if the old mode is unsupported.
	(main): Do not disable fullscreen GUI if overlay has been disabled
	  because we now have fullscreen ttx and capture.

	* src/frequencies.c (frequency_tables): Added UPC NL.

	* plugins/deinterlace/test/Makefile.am (ditest_LDADD): Added
	  libtv.la which defines various SIMD constants.
	* test/simd.c, plugins/deinterlace/test/ditest.c,
	  plugins/deinterlace/main.c, plugins/deinterlace/ditest.c:
	  Removed include simd-consts.h, they're now defined in libtv.a.
	* libtv/simd-consts.h: Replaced by simd.c.

	* test/simd.c, plugins/deinterlace/DI_Misc/Makefile.am,
	  plugins/deinterlace/DI_Misc/DI_Weave.c,
	  plugins/deinterlace/DI_Misc/DI_VideoWeave.c, 
	  plugins/deinterlace/DI_Misc/DI_VideoBob.c,
	  plugins/deinterlace/DI_Misc/DI_TwoFrame.c,
	  plugins/deinterlace/DI_Misc/DI_TomsMoComp.c,
	  plugins/deinterlace/DI_Misc/DI_ScalerBob.c,
	  plugins/deinterlace/DI_Misc/DI_OldGame.c,
	  plugins/deinterlace/DI_Misc/DI_OddOnly.c,
	  plugins/deinterlace/DI_Misc/DI_MoComp2.c,
	  plugins/deinterlace/DI_Misc/DI_Greedy2Frame.c,
	  plugins/deinterlace/DI_Misc/DI_Greedy.c,
	  plugins/deinterlace/DI_Misc/DI_EvenOnly.c,
	  plugins/deinterlace/DI_Misc/DI_Bob.c,
	  plugins/deinterlace/DI_GreedyH/Makefile.am,
	  plugins/deinterlace/DI_GreedyH/DI_GreedyHMPulldown.c,
	  plugins/deinterlace/DI_GreedyH/DI_GreedyHM.c,
	  plugins/deinterlace/DI_GreedyH/DI_GreedyH.c,
	  plugins/deinterlace/windows.h, libtv/rgb2rgb.c,
	  libtv/simd-conv.h, libtv/simd.h, libtv/yuv2yuv.c:
	  s/CPU_FEATURE_SSE/CPU_FEATURE_SSE_INT.
	* libtv/cpu.h, libtv/cpu.c: Splitted CPU_FEATURE_SSE into SSE_INT
	  and SSE_FLT to allow 128 bit loads/stores in P3 code. 

	* test/Makefile.am: Added copy_image and clear_image checks.
	* libtv/yuv2yuv.c: copy_plane_SCALAR() is now tv_copy_plane().
	* libtv/image_format.c: Moved scalar image clear and copy routines
	  to clear_image.c, copy_image.c.
	(tv_image_format_init): Added tv_pixel_format.hmask, .vmask to
	  simplify image size checks.
	* libtv/cpu.c: Integrated the x86 and ppc checks formerly in mmx and
	  avec subdirs.
	(cpu_detection): Added SIGILL check for SSE kernel support.
	* libtv/Makefile.am: Removed mmx, sse, avec subdirs.
	(SIMD_SOURCES): Added clear_image.c,
	  clear_image.h, copy_image.c, copy_image.h.

	* src/video_mem.c (planar_image_new), libtv/pixel_format.h:
	  libtv/pixel_format.c: Added tv_pixel_format.hmask, .vmask to
	  simplify image size checks.

	* libtv/yuv2yuv.c, libtv/yuv2rgb.c: nt-stores are weakly ordered,
	  added sfence before returning from the function.

	* libtv/simd.h: always_inline disabled because it does not seem to
	  work with GCC 4.1 and -O0. Added sfence() macro and SSE float
	  loads and stores. Removed __builtin_constant_p() checks because
	  they fail without always_inline.
	* libtv/simd-conv.h: Removed __builtin_constant_p() checks because
	  they fail without always_inline.
	(store_rgb16): Fixed a 32_BE bug in previous CVS version.

2006-03-21    <mschimek@users.sf.net>

	* configure.in (ALL_LINGUAS): Added cs.
	* po/cs.po: New Czech translation contributed by Pavel Mlcoch.

2006-03-17    <mschimek@users.sf.net>

	* TODO, NEWS: Updated.

	* src/tvengxv.h, src/tvengxv.c (tvengxv_port_scan): New function
	  enumerating XVideo video input ports.
	* src/tvengbktr.h, src/tvengbktr.c (tvengbktr_device_scan): New
	  function enumerating installed bktr devices.
	* src/tveng25.h, src/tveng25.c (tveng25_device_scan): New function
	  enumerating installed V4L2 and V4L video capture devices.

	* src/tveng1.c: Rewrote the code temporarily opening and closing the
	  V4L device. Finished XVideo-V4L support. Added functions to access
	  controls and tuner frequency through the XVideo interface, so we
	  don't have to stop overlay and reopen the V4L every time. Added a
	  change_attach_mode function as in tveng25.c. Restructured the code
	  a bit and cleaned up. XVideo-V4L and change_attach_mode not
	  enabled yet.
	* src/tveng.h (enum tveng_attach_mode): Added
	  TVENG_ATTACH_UNKNOWN = 0.
	* src/tveng.c (tveng_attach_device): Now tveng1.c supports
	  change_attach_mode method too.

2006-03-11    <mschimek@users.sf.net>

	* src/x11stuff.h, src/x11stuff.c (x11_error_handler): Now public to
	  avoid code duplication in video_xv.c and tvengxv.c.
	* src/video_xv.c: Use x11stuff.c X error handler instead of a local copy.
	* src/tvengxv.c: Use tveng_device_info.overlay.xv_port_id instead
	  of a private port_id to permit code sharing with other
	  controllers. Replaced direct XVideo calls by wrapper functions
	  with logging and proper error checking.
	* src/tvengxv.c, src/tvengxv.h (_tv_xv_stop_video, _tv_xv_put_video)
	(_tv_xv_get_port_attribute, _tv_xv_set_port_attribute)
	(_tv_xv_ungrab_port, _tv_xv_grab_port): New public wrappers around
	  XVideo functions with --io-debug logging and industrial strength
	  error checking. Also used by tveng25.c.
	* src/tveng_private.h (tveng_module_info): New change_attach_mode
	  interface.
	(overlay_device): New xv_port_id field, for tvengxv.c and other
	  controllers which can use XVideo.
	* src/tveng25.c: Probe the XVideo adaptors and ports to find the
	  XVideo-V4L wrapper and use XvPutVideo() instead of setting up an
	  overlay DMA directly. Not enabled yet. Unlike tvengxv.c we will be
	  able to access all the controls, inputs and stuff. Switching
	  between capture and overlay mode will be faster and easier.
	(get_overlay_buffer): Update overlay capabilities. attach_device()
	  used to call VIDIOC_G_FBUF twice, once to get capabilities and
	  again to get current frame buffer parameters.
	(tveng25_change_attach_mode): Allow mode switches without querying
	  all the driver parameters. Not enabled yet.
	* src/tveng1.c: Added preliminary XVideo port probe code, not
	  enabled yet.
	* src/tveng.h: Added TVENG_CAPS_XVIDEO. Future tveng1.c and tveng25.c
	  will support XVideo for overlay programming. tvengxv.c sets
	  this flag too.
	* src/tveng_private.h (tveng_device_info),
	  src/tveng.c (p_tv_enable_overlay): Skip overlay window visibility
	  and frame buffer checks in enable_overlay() only if the controller
	  supports XVideo (which is no longer limited to tvengxv.c)
	  AND the client uses the XVideo interface.
	* src/tveng.c: Testing XVideo support and change_attach_mode
	  shortcut in tveng25.c. This code is not enabled yet.
	(tveng_attach_device): Dump new overlay.xv_port_id.
	(round_boundary_4): Signedness fix.
	* src/overlay.c: Check new TVENG_CAPS_XVIDEO instead of
	  TVENG_CONTROLLER_XV because in the future tveng1.c and tveng25.c
	  will support XVideo for overlay programming.

	* src/zmisc.c (tv_get_attach_mode), src/overlay.c (start_overlay),
	  src/fullscreen.c (start_fullscreen): Removed redundant
	  tveng_close_device() before tveng_attach_device().

	* src/audio.c (loopback_thread): Volume scaling doesn't have to be
	  perfectly accurate, signed shift instead of / 256 will do.

	* libtv/yuv2yuv.c: Minor optimizations.
	(SIMD_SHUFFLE, YUV420_YUYV): Didn't emms. 
	* libtv/simd-consts.h: Make sure we get 16 byte alignment. 
	* libtv/rgb2rgb.c: Minor optimizations.
	* libtv/pixel_format.h (tv_pixfmt): Reordered YUYV formats to
	  simplify conversions.
	(TV_PIXFMT_SET_ALL): Accidentally added SBGGR twice.
	* src/video_mem.c, src/video_xv.c:
	* libtv/pixel_format.c, libtv/pixel_format.h:
	* test/convert_image.c: Added YUV to RGB conversion tests.
	* test/Makefile.am (convert_image_LDADD): Added -lm for YUV to RGB
	  conversion tests.
	* src/yuv2rgb.h, src/yuv2rgb.c: Replaced mpeg2dec scalar and x86-only
	  MMX YUV420 to RGB and YUYV to RGB functions by libtv/yuv2rgb.c
	  routines. Replaced dummy NV12 to RGB test functions by the real
	  thing in libtv/yuv2rgb.c.
	* src/csconvert.h, src/csconvert.c: Use the new yuv2yuv.c and
	  yuv2rgb.c routines.
	* src/csconvert.c:
	(lookup_csconvert): Was called before initializing the conversion table.
	(nv12_yuv420): Moved into yuv2yuv.c.
	* libtv/simd-conv.h: Fixes and improvements for yuv2rgb.c.
	(store_rgb16): Added saturating conversions to RGB16.
	(fast_yuv2rgb): Added for yuv2rgb.c.
	* libtv/simd.h: Added vsplatu8_F8 and _FC for RGB16 conversions. 
	  Fixed signedness of vpacksu16(). Added vmulhi16() for YUV to RGB
	  conversion.
	(SIMD_FN_ARRAY_PROTOS): Permit multidimensional arrays.
	* libtv/image_format.c: Replaced tv_pixel_format.planar by n_planes
	  to simplify NV12 checks.
	* libtv/yuv2yuv.h, libtv/yuv2yuv.c: Added NV12 to YUYV and YUV420
	  converters.
	* libtv/yuv2rgb.c, libtv/yuv2rgb.h: New image conversion routines.
	* libtv/yuv2rgb-gen.c: New generator of YUV to RGB conversion lookup
	  tables and SIMD consts.
	* libtv/Makefile.am (BUILT_SOURCES): Added lut_yuv2rgb.c, lut_yuv2rgb.h.
	(MAINTAINERCLEANFILES): Added lut_yuv2rgb-gen.
	(EXTRA_DIST): Added lut_yuv2rgb-gen.c.
	(SIMD_SOURCES): Added yuv2rgb.c, yuv2rgb.h.
	(libtv_la_SOURCES): Added lut_yuv2rgb.c, lut_yuv2rgb.h.
	(noinst_PROGRAMS): Added lut_yuv2rgb-gen.

2006-03-06    <mschimek@users.sf.net>

	* Prerelease 0.10cvs4.

2006-03-05    <mschimek@users.sf.net>

	* src/oss.c (_open, _add_props, _apply_props, _init): Used old
	  config value blah/oss/device instead of blah/pcm_device for
	  /dev/dsp name.

	* src/tveng.c (tveng_attach_device), src/mixer.c (startup_mixer):
	  Present the audio loopback mixer in the GUI instead of the TV card
	  or soundcard mixer if the loopback is enabled.
	* src/main.c (MAIN), src/globals.h, src/globals.c: New --esd-out
	  option.
	* src/zvbi.c (join_thread),
	  src/zmisc.h, src/zmisc.c, src/capture.c (join): Replaced join
	  functions by one z_join_thread_with_timeout() in zmisc.c.
	* src/audio.h: Added a mixer interface to mute and change the volume
	  of the new audio loopback, so we can leave the TV card or
	  soundcard recording level alone.
	* src/audio.c: Added a software audio loopback from the audio source
	  (TV card, soundcard) to ESD in response to Gnome bug #332777.
	  Recording is not yet possible while the loopback is active.
	  Added a mixer interface to mute and change the volume of the
	  loopback, so we can leave the TV card or soundcard recording
	  level alone.
	(mixer_setup): Mute (for output) the recorded mixer line when the
	  audio loopback is enabled.
	(open_audio_device): Added PCM write interface.
	* src/esd.c: Added playback capability.
	* src/oss.c, src/esd.c, src/audio.h, src/arts.c: Defined a PCM write
	  interface. 

	* src/zvbi.c (zvbi_find_subtitle_page),
	  src/v4linterface.c (z_switch_channel),
	  src/subtitle.c (py_closed_caption),
	  plugins/mpeg/mpeg.c (init_subtitle_encoding): When switching to an
	  NTSC channel, guess caption is on CC channel zero. In response to
	  Gnome bug #332746 Subtitles should stay enabled between channel
	  changes.

	* src/tvengxv.c (enable_overlay): Xorg 6.8.0 w/bttv 0.9.5 freezes
	  when the requested size is briefly 1x1 during video widget creation.

	* src/capture.c	(change_capture_format): Preserve the image aspect
	  in fullscreen mode (preliminary).
	* src/fullscreen.c (start_fullscreen): Preserve the image aspect in
	  capture mode (preliminary). Bug introduced when removing the 768 x
	  576 limit.

	* src/x11stuff.c (x11_vidmode_current, x11_vidmode_switch) 
	(x11_vidmode_restore): Handle asynchronous errors of
	  XF86VidModeSwitchToMode(), XF86VidModeSetViewPort() and
	  XWarpPointer(). Supposed to fix Gnome bug #332846 Crash When Put
	  Into Full Screen Mode.

	* src/fullscreen.c (start_fullscreen): tveng_set_capture_size()
	  removed, use tv_cur/set_capture_format() instead.
	* src/tveng.c, src/tveng.h: 
	(tveng_start_capturing, tveng_stop_capturing): Replaced by
	  tv_enable_capturing().
	(tv_set_capture_buffers, tv_get_capture_buffers): Renamed to
	  tv_get/set_num_capture_buffers() for clarity.
	(tveng_set_capture_size, tveng_get_capture_size): Removed. Was only
	  used in fullscreen.c, which uses tv_cur/set_capture_format() now.

	* src/tveng.c: Accidentally disabled all APIs except V4L1.
	(tveng_attach_device): Dump tveng_device_info.caps.flags with -d.
	
	* src/zapping.c (crash_action): Unused parameter warnings.

	* src/tveng1.c (update_capture_limits, p_tveng1_open_device_file): 
	  Capabilities maxwidth must be a multiple of 8 because the old
	  SIMD routines we still use do not check this and fall back to
	  scalar functions.

	* src/csconvert.c (startup_csconvert): Register new YUV-to-YUV
	  routines in libtv/yuv2yuv.c.
	* test/convert_image.c: Added checks for yuv2yuv.c routines,
	  handling of planar formats (YUV420).
	* libtv/simd.h: Added vector size unpack macros.
	(SIMD_FN_ALIGNED_SELECT, SIMD_FN_ARRAY_PROTOS): Added for yuv2yuv.c.
	* libtv/simd.h: Added 32 bit shifts and byte/word swap for yuv2yuv.c.
	* libtv/simd-conv.h (load_16): Added.
	(load_yuyv8): Added offset parameter.
	(load_yuyv16): Added for yuv2yuv.c.
	* libtv/rgb2rgb.c (_tv_rgb32_to_rgb32): Reuse yuv2yuv.c uint32_t
	  shuffle routines.
	* libtv/pixel_format.h (TV_PIXFMT_SET_RGB): SBGGR is also RGB.
	* libtv/image_format.h (tv_image_format): Added field order field. 
	* libtv/sse/sse.h, libtv/sse/copy_block.c, libtv/mmx/mmx.h, 
	  libtv/mmx/copy_block.c, libtv/misc.h, libtv/image_format.c:
	  Modified the image copy routines for reuse by yuv2yuv.c.
	* libtv/Makefile.am (SIMD_SOURCES): Added yuv2yuv.(c|h).

	* zapping_setup_fb/Makefile.am,
	  zapping_setup_fb/zapping_fix_overlay.in: zapping_fix_overlay
	  removed. Simply making <prefix>/sbin/zapping_setup_fb setuid root
	  will work as well.

2006-02-26    <mschimek@users.sf.net>

	* Prerelease 0.10cvs3.

2006-02-25    <mschimek@users.sf.net>

	* src/overlay.c (visible_timeout): Overlay window renegotiation
	  unnecessary if clips didn't change.

	* src/tveng1.c (tveng1_attach_device): Distinguish read and overlay
	  attach_mode, so we can return different image size limits.
	* src/overlay.c (start_overlay): Ask the driver for a maximum size
	  instead of assuming 768 x 576.
	* src/tveng1.c (get_video_standard, set_video_standard): Update the
	  capture size limits after a video standard change.

	* src/xawtv.c (xawtv_ipc_set_station): g_locale_from_utf8 g_convert
	  assertion str != NULL failed.

	* src/properties-handler.c (picture_sizes_setup),
	  src/keyboard.c (setup): Must not enable selection changed
	  signal before the dialog is completely initialized.
	* src/channel_editor.c (create_channel_editor): Must not enable
	  selection changed signal before the dialog is completely built.
	  Supposed to fix Gnome bug #332221, #328309 Crash in channel menu.

	* src/video_xv.c (image_new): Handle asynchronous XShmAttach errors,
	  fixes Gnome bug #331580 Crash Using Remote Display To Thin Clients.

	* zapping_setup_fb/zapping_setup_fb.h,
	  zapping_setup_fb/zapping_setup_fb.c: Signedness fixes.
	* zapping_setup_fb/v4l.c (setup_v4l): Dump requested frame
	  buffer parameters at verbosity level 3.
	* zapping_setup_fb/zapping_setup_fb.c, zapping_setup_fb/v4l25.c,
	  zapping_setup_fb/v4l2.c, zapping_setup_fb/v4l.c: Did not produce
	  an error message on all errors.

	* src/zapping.c: Added assert() test.

2006-02-20    <mschimek@users.sf.net>

	* src/tveng_private.h (NODE_HELPER_FUNCTIONS): Const fix.
	* src/tveng.c (tv_set_overlay_buffer): Added printv's to log
	  execution of zapping_setup_fb.
	(STORE_CURRENT_FUNC, store_cur_video_standard)
	(store_cur_audio_input): Const fix.

	* test/simd.c,
	  plugins/deinterlace/test/ditest.c, plugins/deinterlace/main.c,
	  plugins/deinterlace/ditest.c: Replaced definition of SIMD
	  constants by inclusion of libtv/simd-consts.h.
	* libtv/simd-consts.h: New definition of constants declared in
	  libtv/simd.h.

	* libtv/sse/copy_block.c (copy_block1_sse_nt),
	  libtv/mmx/copy_block.c (copy_block1_mmx): Return FALSE if
	  bytes_per_line smaller than image width instead of running backwards.
	* libtv/image_format.c (copy_block1_generic): Didn't work right if
	  bytes_per_line > width * bytes_per_pixel. Return FALSE if
	  bytes_per_line smaller than width instead of running backwards.

	* test/Makefile.am: Added image conversion test.
	* src/csconvert.c: All RGB-to-RGB conversion functions moved
	  into libtv/rgb2rgb.c.
	* src/Makefile.am (zapping_SOURCES): bayer.c, bayer.h removed.
	  The code is now in libtv/rgb2rgb.c.
	* libtv/lut_rgb16.c: New tables for image conversion to
	  RGB16 (generated file).
	* libtv/lut_rgb16.h: New tables for image conversion to RGB16.
	* libtv/lut_rgb16-gen.c: New generator of lut_rgb16.c
	  table for image conversion to RGB16.
	* libtv/misc.h (MASKED_SHIFT): Added for RGB16 conversion.
	* libtv/rgb2rgb.c, libtv/rgb2rgb.h:
	  New SIMD and scalar image conversion functions replacing code in
	  src/bayer.c and src/cconvert.c.
	* libtv/simd-conv.h: New macros for SIMD image conversion.
	* libtv/simd.h: vsplat16_m1, vsplat32_m1, vsplatu16_m1, vsplatu32_m1
	  were misdefined. Added vpacksu16 and vavgu16 for SBGGR conversion.
	* libtv/Makefile.am: Build rgb2rgb.c, SIMD code there,
	  and generated lut_rgb16.c.
	(MAINTAINERCLEANFILES): Added lut_rgb16-gen.
	(BUILT_SOURCES): Added lut_rgb16.c.
	(EXTRA_DIST): Added lut_rgb16(-gen).c.
	(libtv_la_SOURCES): Added lut_rgb16.(c|h).
	
	* src/yuv2rgb.c, plugins/deinterlace/test/Makefile.am,
	  plugins/deinterlace/DI_Misc/Makefile.am,
	  plugins/deinterlace/DI_GreedyH/Makefile.am,
	  plugins/deinterlace/DI_GreedyH/DI_GreedyH.c (DeinterlaceGreedyH),
	  libtv/simd.h, libtv/image_format.c (tv_clear_image), 
	  libtv/cpu.c (cpu_detection), configure.in (CHECK_SIMD):
	  s/HAVE_MMX/CAN_COMPILE_MMX etc for clarity.

	* src/Makefile.am (AM_CFLAGS): Compile with -g to produce better
	  backtraces.
	* src/main.c (main), configure.in (PACKAGE_VERSION_IDENT): Tack
	  program version onto main() name to make sure it appears in
	  BugBuddy reports with backtrace.

2006-02-15    <mschimek@users.sf.net>

	* Makefile.am (EXTRA_DIST): Added ChangeLog.05.
	* ChangeLog, ChangeLog.05: Moved 2004-2005 history into ChangeLog.05.

2006-02-13    <mschimek@users.sf.net>

	* src/fullscreen.c (on_cursor_blanked): Recenter the window as well.

	* src/overlay.c, src/zmisc.h, src/zmisc.c: Moved
	  z_set_overlay_buffer() from src/zmisc.c into src/overlay.c. 

	* src/overlay.c (visible_timeout): Cleaned new instead of old screen
	  when the window moved to a different Xinerama screen.
	(reconfigure, visible_timeout): Placed the overlay rectangle
	  root window relative instead of Xinerama screen relative.
	(reconfigure): Did not renegotiate chroma-key frame buffer address
	  when the window moved to a different Xinerama screen.

2006-02-10    <mschimek@users.sf.net>

	* zapping.schemas.in: Missing deinterlace/method.

2006-02-10    <mschimek@users.sf.net>

	* Prerelease 0.10cvs2.

2006-02-10    <mschimek@users.sf.net>

	* po/POTFILES.in: DI_Adaptive.c, DI_BlendedClip.c, DI_OldGame,
	  src/zapzilla.c not used/distributed this time.
	* src/overlay.c (stop_overlay): Didn't disconnect from zapping
	  delete event.
	* src/tvengxv.c (tvengxv_attach_device),
	  src/tvengemu.c (tvengemu_attach_device),
	  src/tvengbktr.c (tvengbktr_attach_device),
	  src/tveng25.c (tveng25_attach_device),
	  src/tveng1.c (tveng1_attach_device): Clear the private part of
	  tveng_device_info. tveng25 interface crashed due to data left
	  over from a previous failed tveng1_attach_device() call.
	* src/tveng.c (verify_clip_vector): Didn't check the last
	  clip in a vector.
	(overlay_window_visible): Fixed a signedness bug.
	(p_tv_set_overlay_window): Didn't disable overlay when the
	  window became invisible.
	(tv_set_overlay_window_chromakey): Didn't disable overlay when
	  the window became invisible.
	* src/tveng1.c (channel_norm_test): Incorrectly assumed VIDIOCSCHAN
	  returns parameters, not really testing anything.
	(p_tveng1_open_device_file): Used to set FD_CLOEXEC which is
	  precisely what we not want when calling zapping_setup_fb.
	(get_video_standard_list): Select PAL if the current standard is
	  AUTO.
	(get_overlay_buffer): Always return a buffer format, we need it to
	  clip against screen boundaries. 
	(set_overlay_buffer): Added.
	(identify_driver): Added check for rivatv driver for a work-around
	  in set/get_overlay_buffer().

2006-02-09    <mschimek@users.sf.net>

	* zapping_setup_fb/zapping_setup_fb.c (long_options): Array
	  lacked a terminating 0, resulting in a segfault when unknown
	  options were given.
	* src/tveng25.c (get_overlay_buffer): Return a useful error
	  string when the frame buffer format is invalid.
	* src/tveng1.c: Always clear structs before calling ioctl(),
	  in case the driver is broken.
	(get_overlay_buffer): Ignore invalid frame buffer format returned
	  rivatv driver. Return a useful error string when the format
	  is invalid.
	* libtv/image_format.c (tv_image_format_init): Fail if the
	  requested bytes_per_line is non-zero and too small.

2006-02-07    <mschimek@users.sf.net>

	* src/tveng.c (tv_set_overlay_buffer): Negotiation of the frame
	  buffer format is no longer required for chroma-key overlay.

2006-02-06    <mschimek@users.sf.net>

	* Prerelease 0.10cvs1.

2006-02-06    <mschimek@users.sf.net>

	* src/overlay.c: Monitor config for chroma_key_color change and
	  apply it to the window.
	* src/zgconf.h, src/zgconf.c (z_gconf_notify_remove,
	  z_gconf_set_color, z_gconf_get_color): Added.
	* src/properties-handler.c (video_setup, video_apply): New chroma
	  key colorbutton.
	* glade/zapping.glade2: Added chroma-key colorbutton in
	  preferences/video.
	* zapping.schemas.in: Added chroma_key_color.
	* plugins/subtitle/view.c (get_color),
	  plugins/subtitle/preferences.c (get_color): Use new
	  string_to_color() helper.
	* src/zgconf.h, src/zgconf.c (string_to_color): Added.
	* src/fullscreen.c: Replaced overlay code by overlay.c calls.
	  Restores chroma-key overlay and clipping.
	* src/tveng.h, src/tveng.c (tv_cur_overlay_clipvec): Added.
	* src/overlay.c: Replaced set_vector copy by
	  zapping->info.overlay.clip_vector.
	(visible_timeout): Used wrong clip vector during
	  set_overlay_window retry, causing an assertion failure.

2006-02-06    <mschimek@users.sf.net>

	* src/zmisc.h, src/zmisc.c (z_set_window_bg_black): Added.
	* src/tvengxv.c, src/tvengemu.c, src/tvengbktr.c,
	  src/tveng_private.h, src/tveng1.c, src/tveng25.c: Merged chroma
	  key accessor functions into overlay window functions.
	* src/tveng1.c (get_capture_and_overlay_parameters): Didn't read
	  back the current chroma key.
	(set_overlay_window_chromakey): Removed color key to X display color
	  translation. Higher level code must do that.
	* src/tveng.h: tv_set_overlay_xwindow now also takes a chroma key.
	* src/tveng.c (tv_set_overlay_window_chromakey):
	  Restored and added screen boundary clips to prevent a system
	  crash when the driver is broken.
	* src/overlay.c: Restored chroma-key overlay and cleaned up.
	  Changed chroma key color from blue to pink.

2006-02-03    <mschimek@users.sf.net>

	* src/tveng1.c (init_audio, get_audio_control_list): Zapping
	  didn't work with rivatv driver because VIDIOCGAUDIO returned
	  unexpected errno ENODEV. Patch by Tim.
	* src/xawtv.c (property_get_string), libtv/screen.c
	  (tv_screen_list_new): Fixed XGetWindowAttributes return code check.
	* libvbi/bcd.c, libvbi/bdc.h: Renamed vbi3_dec2bcd to bin2bcd,
	  vbi3_bcd2dec to bcd2bin.
	* src/v4linterface.c (on_control_window_key_press, channel_txl),
	  src/main.c (on_zapping_key_press), src/fullscreen.c (on_key_press):
	  Fixed entering of channel numbers on the numeric keypad. Pg-up/down
	  now completes channel number entering like nk-enter.

2006-01-07    <mschimek@users.sf.net>

	* src/x11stuff.c (x11_force_expose, x11_window_viewable,
	  wm_hints_detect, x11_vidmode_list_new, find_xscreensaver_window,
	  x11_xvideo_dump): Temporarily override the default
	  xlib error handler so we don't abort on errors.
	* libtv/screen.c (dga_query, xinerama_query, tv_screen_list_new,
	  pixfmt_from_dga_modes): Temporarily override the default
	  xlib error handler so we don't abort on errors. The dga_query()
	  change is supposed to fix feature request #1395190.

Local Variables:
mode: change-log
coding: utf-8
left-margin: 8
fill-column: 76
End:
