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 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:
