LinuxTV

CVS log for libsoftmpeg/src/softmpeg.c

[BACK] Up to [DVB] / libsoftmpeg / src

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.36: download - view: text, markup, annotated - select for diffs
Mon Jul 12 16:48:05 2004 UTC (19 years, 10 months ago) by hunold
Branches: MAIN
CVS tags: HEAD
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +24 -2 lines
- remove individual xxx_handle_ts_packet() functions for audio and video
- handle ts packet filtering in softmpeg.c, do some sanity checks against payload_len
=> enhances stability on very broken reception

Revision 1.35: download - view: text, markup, annotated - select for diffs
Thu Jun 10 15:07:37 2004 UTC (19 years, 11 months ago) by hunold
Branches: MAIN
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +2 -2 lines
- fixed pes header calculation, thanks to Bryce Nichols

Revision 1.34: download - view: text, markup, annotated - select for diffs
Tue May 18 20:19:53 2004 UTC (20 years ago) by hunold
Branches: MAIN
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +0 -1 lines
- follow latest changes in libavcodec

Revision 1.33: download - view: text, markup, annotated - select for diffs
Tue Mar 23 14:29:41 2004 UTC (20 years, 2 months ago) by hunold
Branches: MAIN
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +1 -1 lines
- make debug message less verbose

Revision 1.32: download - view: text, markup, annotated - select for diffs
Tue Mar 23 11:20:51 2004 UTC (20 years, 2 months ago) by hunold
Branches: MAIN
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +1 -1 lines
- include SOFTMPEG_DEBUG_AVSYNC if build with "--enable-debug"
- make some debug messages more verbose
- simplify / fix calculation of additional wait cycles to compensate non-50Hz timings
- adjust high watermark down to 50% (66% before)
- simplify handling in audio_playout

Revision 1.31: download - view: text, markup, annotated - select for diffs
Fri Mar 19 16:35:57 2004 UTC (20 years, 2 months ago) by hunold
Branches: MAIN
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +2 -2 lines
- fix stupid bug in pes playback: PTS information wasn't resetted for every PES
paket, so packets with wrong timing informations were put to softmpeg core, leading
to nearly unusable playback behaviour

Revision 1.30: download - view: text, markup, annotated - select for diffs
Wed Mar 17 14:26:46 2004 UTC (20 years, 2 months ago) by hunold
Branches: MAIN
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +3 -0 lines
- only clear the screen on a decoder_stop() not on a skip

Revision 1.29: download - view: text, markup, annotated - select for diffs
Wed Mar 17 14:23:06 2004 UTC (20 years, 2 months ago) by hunold
Branches: MAIN
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +12 -15 lines
- rip out all fusionsound stuff from main audio.c, put it to a_fusionsound.c, put a lean api around it
- check for availble audio ouput "devices" in audio.c, support fusionsound, follow changes in audio.c
- add copyright headers to all of the new files
- make all functions static in v_directfb.c

Revision 1.28: download - view: text, markup, annotated - select for diffs
Tue Mar 16 14:40:04 2004 UTC (20 years, 2 months ago) by hunold
Branches: MAIN
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +8 -16 lines
- rip out all DirectFB functionality from video.c and put it into a separate file v_directfb.c

Revision 1.27: download - view: text, markup, annotated - select for diffs
Thu Mar 11 17:27:49 2004 UTC (20 years, 2 months ago) by hunold
Branches: MAIN
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +8 -5 lines
- don't terminate feed thread in case of EOF, useful for timeshift
- handle skip to begin of file gracefully

Revision 1.26: download - view: text, markup, annotated - select for diffs
Thu Mar 11 17:06:36 2004 UTC (20 years, 2 months ago) by hunold
Branches: MAIN
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +4 -3 lines
- make skip calculation a little more robust

Revision 1.25: download - view: text, markup, annotated - select for diffs
Thu Mar 11 16:44:59 2004 UTC (20 years, 2 months ago) by hunold
Branches: MAIN
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +24 -1 lines
- added el-cheapo skipping mode SOFTMPEG_SKIP, which can skip a specified amount of seconds

Revision 1.24: download - view: text, markup, annotated - select for diffs
Thu Mar 11 15:18:58 2004 UTC (20 years, 2 months ago) by hunold
Branches: MAIN
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +32 -18 lines
- replace ..._pause() function with a more generic softmpeg_decoder_set_mode() function
- follow these changes in demo application

Revision 1.23: download - view: text, markup, annotated - select for diffs
Thu Mar 11 13:40:15 2004 UTC (20 years, 2 months ago) by hunold
Branches: MAIN
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +54 -14 lines
- added a simple pause function. basically works, but won't work this way with rewind/fast forward

Revision 1.22: download - view: text, markup, annotated - select for diffs
Wed Mar 10 20:26:51 2004 UTC (20 years, 2 months ago) by hunold
Branches: MAIN
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +0 -2 lines
- remove another debugging message

Revision 1.21: download - view: text, markup, annotated - select for diffs
Wed Mar 10 19:58:33 2004 UTC (20 years, 2 months ago) by hunold
Branches: MAIN
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +27 -2 lines
- make sure to set the fd to O_NONBLOCK, so that the feed thread doesn't block in read()
- add softmpeg_decoder_hard_resync(), call that if audio.c detects pts skew and other weird stuff where a resync is necessary
- extend softmpeg_decoder_set_pids() so you can specify an fd. the polling thread will use this new fd afterwards. useful for switching between live-tv and recordings
- fixed some debug messages in audio.c

Revision 1.20: download - view: text, markup, annotated - select for diffs
Wed Mar 10 13:34:43 2004 UTC (20 years, 2 months ago) by hunold
Branches: MAIN
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +5 -1 lines
- add callback function to softmpeg_decoder_polling_thread_create(). if data
has been processed you are called back; this is useful if you'd like to implement
pvr functionality with softmpeg

Revision 1.19: download - view: text, markup, annotated - select for diffs
Tue Mar 9 11:28:39 2004 UTC (20 years, 2 months ago) by hunold
Branches: MAIN
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +2 -5 lines
- implement audio_set_volume() for easier and safer muting/unmuting
- add structure init to video_create()/audio_create()
- move inital_sync handling to function

Revision 1.18: download - view: text, markup, annotated - select for diffs
Thu Mar 4 11:22:40 2004 UTC (20 years, 3 months ago) by hunold
Branches: MAIN
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +2 -0 lines
- add directfb and fusionsound to the "required" list of the package config file
- small debug message fix in audio.c
- explicitely call softmpeg_decoder_stop() in softmpeg_decoder_set_pids(),
otherwise the decoder core gets messed up seriously due to changed pids et. al.
- call DirectFBInit() if we are called before any other programs has
initialized DirectFB, so that we can give out a proper error message

Revision 1.17: download - view: text, markup, annotated - select for diffs
Tue Mar 2 13:47:26 2004 UTC (20 years, 3 months ago) by hunold
Branches: MAIN
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +1 -1 lines
- shuffle around some debug messages:
  - replace AUDIO_PES with AUDIO_DEBUG and VIDEO_PES with VIDEO_DEBUG
    to make debugging a/v desyncing easier
  - add debug messages that the pts of every video frame and the pts
    of every audio chunk
  - disable VIDEO_PES and AUDIO_PES messages by default, the produce too
    much noise when debugging
- if the audio buffer has not enough data, make sure that we insert enough
  silence, make sure that our ->len information is accurate, otherwise
  audio underflow occurs when enough data is lost

Revision 1.16: download - view: text, markup, annotated - select for diffs
Wed Feb 25 15:14:38 2004 UTC (20 years, 3 months ago) by hunold
Branches: MAIN
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +32 -6 lines
- create one global softmpeg singleton object, prevent applications from creating more than one softmpeg decoder instance
- add softmpeg_get_current_softmpeg_context(): useful for applications where the
softmpeg decoder has been opened by another context, but you don't want to pass
around pointers to that context (dirty)
-  add softmpeg_decoder_set_av_sync(): useful for playback, video is simply played out, only synced to the vertical blank, needs testing
- VIDEO_THRESHOLD is used at various places when avsync is turned off, needs
testing

Revision 1.15: download - view: text, markup, annotated - select for diffs
Sat Feb 21 16:01:22 2004 UTC (20 years, 3 months ago) by hunold
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +9 -7 lines
- fix calculation of delay when high watermark is reached
- remove some dead code
- don't sleep inside the handler, but return appropriate delay in ms to the caller

Revision 1.14: download - view: text, markup, annotated - select for diffs
Sat Feb 21 14:49:48 2004 UTC (20 years, 3 months ago) by hunold
Branches: MAIN
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +4 -1 lines
- apply changes suggested by Carsten Kroll:
  - audio stream id is 5 bits, not 4
  - don't assume the pes packet length is correct if we encounter an
    unsupported pes packet type

Revision 1.13: download - view: text, markup, annotated - select for diffs
Thu Feb 19 00:26:36 2004 UTC (20 years, 3 months ago) by hunold
Branches: MAIN
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +49 -35 lines
- make the various softmpeg_decoder_process_...() functions use an unsigned char to ease byte stream parsing
- fix calculation of delay in ms, when audio data is feeded too fast
- don't abort when an audio delay is necessary, but return the delay insead (tststs...)
- make softmpeg_decoder_process_pes_data() aware that multiple pes packets can be send, don't rely that each chunk only contains one video or one audio pes packet -- this basically fixes reccoding playback in vdr

Revision 1.12: download - view: text, markup, annotated - select for diffs
Wed Feb 18 22:20:50 2004 UTC (20 years, 3 months ago) by hunold
Branches: MAIN
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +1 -4 lines
- accidently turned on audio debugging again
- remove some debugging stuff
- make sure to query the playback interface only when it's available

Revision 1.11: download - view: text, markup, annotated - select for diffs
Wed Feb 18 22:15:50 2004 UTC (20 years, 3 months ago) by hunold
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +138 -5 lines
- add mutex to protect the FusionSound stream, needed because the
  stream may be changed anytime when the sample rate changes
- don't exit(-1) when audio decoding fails (usefull for vdr...)
- add a avsync_thread for long term av sync, currently it only fetches
  some informations and prints it out
- don't let the feed thread catch any signals

Revision 1.10: download - view: text, markup, annotated - select for diffs
Tue Feb 17 12:02:16 2004 UTC (20 years, 3 months ago) by hunold
Branches: MAIN
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +19 -2 lines
- disable SOFMPEG_AUDIO_DEBUG by default again
- enhance the audio experience while zapping: mute the FusionSound stream before zapping, unmute it when a/v sync is achieved
- enhance the video experience while zapping: blank the video before zapping
- lock access to the audio setting with video mutex
- add a couple of sanity checks to check_and_write_audio_pes() to make the code more robust
- check for multiple creation of the feed thread, wait for init using sched_yield()
- upon softmpec_decoder_stop(), set alls pids to 0x1fff, so nothing is decoded anymore
- fix debug output if VIDEO_AVSYNC() is used

Revision 1.9: download - view: text, markup, annotated - select for diffs
Fri Feb 13 18:19:53 2004 UTC (20 years, 3 months ago) by hunold
Branches: MAIN
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +8 -6 lines
- disable MPEG_PES_TO_FRAME debugging by default
- skip pes headers for all pes packets, not only for the ones conatining a pts
- add new VIDEO_PES_TO_FRAME_DEBUG, use VIDEO_PES() for debugging messages
- add define MAX_VIDEO_MPEG_FRAME_SIZE, currently 128kB (hints are welcome)
- actually implement video_handle_pes_data()

Revision 1.8: download - view: text, markup, annotated - select for diffs
Fri Feb 13 14:32:53 2004 UTC (20 years, 3 months ago) by hunold
Branches: MAIN
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +3 -7 lines
- make is_pes_packet_start() return the stream identifier in case it is a pes packet start
- make raw audio pes buffer use malloc() instead of a static array
- add audio_decoder_destroy(), use it in softmpeg core
- change all AUDIO_PES_TO_FRAME_DEBUG message to use new AUDIO_PES()
- move sync logic from audio_handle_pes_data() to separate function
- fix pes deconding for raw pes frames (like vdr spits out)

Revision 1.7: download - view: text, markup, annotated - select for diffs
Fri Feb 13 13:29:42 2004 UTC (20 years, 3 months ago) by hunold
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +51 -12 lines
- remove some obsolete debug messages from demo application
- add c++ foo to external softmpeg header file
- split packet handling into ts handling and pes packet handling for both audio and video (pes handling isn't working yet)
- remove some commonly used pes header parsing stuff to internal.h

Revision 1.6: download - view: text, markup, annotated - select for diffs
Fri Feb 13 10:17:58 2004 UTC (20 years, 3 months ago) by hunold
Branches: MAIN
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +46 -66 lines
DOKs last changes:
- fix return code handling for feed thread
- use softmpeg_sleep() to sleep if audio buffer is filled too much (useful for file playback)

Other changes:
- add SOFTMPEG_FATAL() which terminates execution (currently only used if avcodec cannot be reinitialized, although it was initialized before)
- remove some dead code that was only used in the very beginning
- change lots of fprintf()s from critical erros to SOFTMPEG_ERROR
- remove old style pprintf()
- add a couple of "fixme"s for important things to do
-

Revision 1.5: download - view: text, markup, annotated - select for diffs
Fri Feb 13 09:53:14 2004 UTC (20 years, 3 months ago) by hunold
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +20 -1 lines
some more of DOKs changes:
- add SOFTMPEG_DEBUG(), SOFTMPEG_ERROR() and SOFTMPEG_WARN() macros inspired from DirectFB
- replace audio printf()s with SOFTMPEG_DEBUG_AUDIO macro (maps to SOFTMPEG_DEBUG())
- replace fixed prebuffering delay with low/mid/high watermarks (should be in 16.16 percent though) change code accordingly
- remove bogus "manual prebuffering" hack (fixed in FusionSound)
- add "DFBBoolean playing;" to audio_decocer, keep track of current playback status
- add softmpeg_sleep() replacement for dozens of nanosleep() calls
- add softmpeg_get_millis() replacement for gettimeofday() calls
- compile fix for missing variable in video.c caused by last checking

Revision 1.4: download - view: text, markup, annotated - select for diffs
Fri Feb 13 09:27:45 2004 UTC (20 years, 3 months ago) by hunold
Branches: MAIN
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +5 -5 lines
- apply DOKs cosmetic changes

Revision 1.3: download - view: text, markup, annotated - select for diffs
Tue Feb 10 12:46:49 2004 UTC (20 years, 3 months ago) by dok
Branches: MAIN
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +4 -2 lines
Avoid endless loop in feed thread.

Added myself to the copyright headers.

Revision 1.2: download - view: text, markup, annotated - select for diffs
Tue Feb 10 12:32:56 2004 UTC (20 years, 3 months ago) by dok
Branches: MAIN
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +13 -9 lines
Stabilized A/V sync and decoding by using correct arrangements
of Flip(), WaitForSync(), SetField() and fine tuned timings.

Automatically use deinterlacing if supported.

Increased audio prebuffering from 25% to 50%.

Use SCHED_RR for feed thread.

Use dfb_memcpy() by adding a hackish extern declaration for it.

Enhanced debugging output.

Cleaned up demo application code.

Revision 1.1: download - view: text, markup, annotated - select for diffs
Fri Feb 6 10:56:16 2004 UTC (20 years, 3 months ago) by hunold
Branches: MAIN
Initial release. It's done.

Diff request

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Log view options

LinuxTV legacy CVS <linuxtv.org/cvs>