Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
--HG--
rename : src/liba52/xine_a52_decoder.c => src/audio_dec/xine_a52_decoder.c
rename : src/libspudvb/xine_spudvb_decoder.c => src/spu_dec/spudvb_decoder.c
rename : src/libxinevdec/image.c => src/video_dec/image.c
|
|
|
|
|
|
|
|
|
|
--HG--
rename : src/libxineadec/gsm610/Makefile.am => contrib/gsm610/Makefile.am
rename : src/libxineadec/nosefart/diff_to_nosefart_cvs.patch => contrib/nosefart/diff_to_nosefart_cvs.patch
rename : src/libxineadec/nosefart/nes6502.c => contrib/nosefart/nes6502.c
rename : src/libxineadec/nosefart/nes6502.h => contrib/nosefart/nes6502.h
rename : src/libxineadec/nosefart/nes_apu.c => contrib/nosefart/nes_apu.c
rename : src/libxineadec/nosefart/nes_apu.h => contrib/nosefart/nes_apu.h
rename : src/libxineadec/nosefart/nsf.c => contrib/nosefart/nsf.c
rename : src/libxineadec/nosefart/nsf.h => contrib/nosefart/nsf.h
rename : src/libxineadec/nosefart/types.h => contrib/nosefart/types.h
rename : src/libxineadec/nosefart/version.h => contrib/nosefart/version.h
rename : doc/faq/faq.sgml => doc/faq/faq.docbook
rename : src/libsputext/demux_sputext.c => src/spu_dec/sputext_demuxer.c
rename : src/libxinevdec/image.c => src/video_dec/image.c
|
|
Frame duration calculation for repeated frames or fields is now correct,
but video_out_vdpau.c needs to be adjusted too, because for now it will
show for example 1.5x top field and 1.5x bottom field instead of 1x top
field, 1x bottom field and 1x top field again.
|
|
According to ITU-T Rec. H.264 (03/2005), Table D-1, there is no such
indicated display of picture. As a result, succeeding enum constants
were mapped to the wrong values.
|
|
The image allocated in decoder_init can immediately be freed after getting
access to accel_data. Accessing the accel pointer afterwards is safe for non
frame related functions although the frame has been freed as freed frames are
not deallocated but put into a free frame queue.
|
|
Currently a parsed picture was only decoded when the parser came across a
NAL unit which started a new picture (aka access unit). An end of sequence
NAL unit must be handled like the access unit delimiter NAL unit, as both
terminate the current access unit.
Handling the end of sequence NAL unit in this way fixes displaying of still
images which end in an end of seqeunce NAL unit. Otherwise they were not
decoded at all (in case of a still frame) or the second field was missing
(in case of a still image which had been coded as a pair of fields).
|
|
Transfer of seq_pts to img->pts takes now place at picture header of next
image in decoding order. So far, seq_pts was set to cur_pts at sequence
header and picture header. Hence, img->pts was incorrectly set to pts of
next image in decoding order.
Setting seq_pts only in picture header after call of picture_ready() keeps
the correct pts in seq_pts until it has been transfered to img->pts.
Furthermore, cur_pts of second field must be ignored as we put both fields
into the same image so the image is due at pts of first field.
|
|
|
|
|
|
--HG--
extra : rebase_source : 986f546343c08d288d44c3a9ea3a6d4309ace204
|
|
The referenced last_vcl_nal exists only when decoding starts at an IDR frame.
Starting anywhere else may lead to a NULL pointer access.
|
|
|
|
|
|
|
|
|
|
|
|
progressive mode
|
|
- only mark pictures as reference for vdpau, where actually the slice nals are used for reference
|
|
|
|
|
|
|
|
- only detect before drawing and only once per image insted per field
|
|
- never exceed hard limit of 16 frames in dpb
- use max_dec_frame_buffering parameter when set
|
|
|
|
implemented a proper detection of interlaced/progressive content to enable deinterlacing only when needed
|
|
|
|
wrong list was referenced in dpb_free_all, when clearing the reference picture list. this caused reference pictures not to be freed when stopping
|
|
- discard field pairs, when only one field is available (ie at start of stream)
- fix tff marking
|
|
- fix tff marking
- make code easier to read
|
|
- the dpb is using two xine_lists now to manage reference pictures and pictures delayed for output
- take VUI num_reorder_frames into account to buffer just as many frames as needed
- cleanup reference counting for decoded pictures
|
|
|
|
|
|
|
|
|
|
|
|
|
|
properly skip the emulation_prevention_three_byte in the bitstream, which fixes some glitches which could happen whenever such a stuffing byte was in one of the parsed sections
|
|
completely reinitialise the h264 parser to avoid messup in the dpb which causes unnecessarily long img-locks, that might cause freezes
|
|
- free vo_frames as early as possible to avoid dead-locks, due to unnecesarily locked frames
- ensure that dpb does not exceed given max size
--HG--
extra : rebase_source : 107db4ccde8907bba161d3cfd3f964847343664e
|
|
|
|
|
|
If a decoded_pic was locally cached, because it is the first half of a reference picture it would not get freed in case of a reset/flush/dispose.
|
|
In case of an empty nal_buffer the free method would run into a NULL pointer. Check for this.
|