summaryrefslogtreecommitdiffstats
path: root/libhb/decmpeg2.c
Commit message (Collapse)AuthorAgeFilesLines
* Correct chroma size for raw video frames - width & height need to be rounded ↵van2008-11-081-1/+1
| | | | | | up if they're odd before dividing by 2. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1905 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix for mpeg content that changes size in the middle of a decode (such as ↵van2008-10-301-17/+66
| | | | | | | | | Doctor Who season 1 disc 2 title 4). Problem reported in http://forum.handbrake.fr/viewtopic.php?f=4&t=4306 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1880 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix a couple problem exposed through some valgrind testing. use of freedjstebbins2008-09-151-0/+2
| | | | | | | memory in detelecine and use of uninitialized memory in decmpeg2 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1700 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - change aspect from a scaled int to a double so we can handle the widervan2008-08-081-6/+3
| | | | | | | | | | | | | | | | | | | range of aspect ratios we get from ffmpeg files. - add container_aspect to title struct (always zero except for DVDs when it's the aspect from the VTSI). To handle broken French DVDs, make HB complain & use the container aspect if it's different from the aspect computed from the video PAR. - fix ScanFunc's job template init so that it doesn't think the only legal aspect ratios are 16:9 & 4:3. - hb_reduce wouldn't reduce any fraction where both terms were equal and prime (e.g., 2/2, 3/3, 5/5, etc. would not become 1/1). Recoded it using Euclid's Algorithm so it always works and is faster. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1616 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - add pixel_aspect_ratio reporting to the mpeg decodervan2008-06-041-31/+10
| | | | | | | | - try lots harder to extract a useful video frame rate from libavcodec (successful for more files but still get junk from wmv's). - save all video parameters while we're getting previews then use the set we've seen most frequently as the parameters of the title. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1490 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Don't crash in decmpeg2Info if we failed to get a preview due to not finding ↵van2008-06-031-1/+1
| | | | | | a sequence header. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1488 b64f7644-9d1e-0410-96f1-a4d463321fa5
* - support blu-ray, avchd & dvb x264van2008-05-311-22/+43
| | | | | | | - support video files handled by ffmpeg (avi, mkv, mp4, etc.) git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1480 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Print a log line for the first chapter.van2008-04-151-0/+8
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1421 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Saearch & Replace domain names to move from .m0k.org to handbrake.fr. Only ↵jbrjake2008-04-151-1/+1
| | | | | | covers trunk files, libhb, and test. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1418 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix the automatic subtitle scan that I broke with r1412.van2008-04-141-1/+3
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1413 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fixes for different number of frames between pass 1 & 2, missing frames at ↵van2008-04-131-6/+17
| | | | | | | | | | | | end, and an deadlock with pcm audio. - since the SCR clock recovery is done in reader.c we can't currently skip audio frames during pass 1 or we miss clock changes signaled by those frames & end up dropping more video frames in pass 1 than pass 2. - since many modules buffer frames we can't tell if we're done just by looking for empty fifos. Send an empty buffer to mark end-of-stream all the way along the processing pipeline & use it to flush internally buffered data. - in a processing pipeline you're done when the end of the pipe says your done. add a thread status variable so we can tell when individual threads are finished then make do_job wait until the encoder thread is done so that we're sure all the frames have been processed and sent to the muxer. - since the muxer alternates between reading video & audio packets we have to have enough buffer in the audio pipeline to handle a video-frame's worth of audio packets (33ms). Since pcm packets are <1ms we need >60 slots in the audio fifos or we'll deadlock. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1412 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Minor chapter cleanups.van2008-04-041-25/+35
| | | | | | | | | | - put chapter number in buf rather than a 'new chapter' flag. - use that chapter number to index chapter text in muxers so a dropped chapter doesn't make all subsequent chapter labeling wrong. - get rid of most of the chapter logging & just output one line giving the chapter text, number, frame & time. - fix a bug in sync that could cause chapter marks to be lost. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1377 b64f7644-9d1e-0410-96f1-a4d463321fa5
* scan and pcm audio fixes.van2008-04-021-20/+13
| | | | | | | | | | | | | | - lpcm audio fixed to handle 24 bit & interpret header correctly. - get aspect ratio from libmpeg2 rather than doing it ourselves. - announce when aspect ratio changes during preview scan. - if aspect ratio isn't either 4:3 or 16:9 complain & map to either 4:3 or 16:9 (whichever is closest). - start stream previews from file position 0 rather than 1/11 in case there's only on mpeg sequence header in the file. - don't give up on a file just because we can't get a preview due to a missing sequence header - only give up if we can't get any previews. - get audio bitstream characteristics during preview in a uniform way (we were treating PCM & MPEG audio specially which resulted in not getting their sample rate which caused a divide by zero in sync). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1370 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Don't crash while scanning when we can't get previews for some title.van2008-02-291-0/+7
| | | | | | | | | - if we get no previews for some title, ignore the title - use the most common aspect ratio found from our 10 previews rather than just the aspect of preview 2 (otherwise we'll crash in hb_fix_aspect if we don't get preview 2). - check parameters in hb_fix_aspect so we don't divide by zero. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1322 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Formatting: Remove a lot of trailing whitespace.saintdev2008-02-211-19/+19
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1307 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Refer to transitions in the presence-or-lack-thereof of progressive flags on ↵jbrjake2008-02-121-2/+2
| | | | | | MPEG-2 frames as Film->Video or vice versa instead of Progressive->Interlaced. Slightly more accurate, and will make future comb detection of previews less confusing. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1256 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Don't drop subtitles when crossing PTS discontinuities by using buffer ↵eddyg2007-10-081-0/+2
| | | | | | sequence numbers to determine where in the stream the buffer came from. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1011 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Die, non-standard printf logging, die!jbrjake2007-08-291-4/+4
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@895 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Doubles the number of frames checked for cadence changes, streamlines their ↵jbrjake2007-08-241-10/+10
| | | | | | storage with a for loop, gets rid of inaccurate "Interlaced->Progressive" messages during scanning, and, during encoding, displays those messages with time stamps in seconds instead of using the PTS units. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@862 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Prevents a bus error at scan time with DVDs that have a weird cell ↵jbrjake2007-08-171-10/+13
| | | | | | structure. Much gratitude to dynaflash, as without his patient assistance tele-debugging this, I would have been forced to buy a copy of Young Guns. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@828 b64f7644-9d1e-0410-96f1-a4d463321fa5
* "Same as source" changes. Old behavior: mark all NTSC content as 23.976. New ↵jbrjake2007-08-131-8/+116
| | | | | | | | | behavior: mark all NTSC content as 29.97, only use 23.976 when scanning shows a title reporting itself as mostly progressive. Also threw in a bunch of commented out logging messages for diagnostic usage. And notification during encodes when progressive flags go on or off (only works in jam builds until the contrib binary packs get rebuilt). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@799 b64f7644-9d1e-0410-96f1-a4d463321fa5
* This huge patch from huevos_rancheros ports a number of video filters from ↵jbrjake2007-07-271-0/+3
| | | | | | | | | | mencoder to HandBrake: yadif+mcdeint, hqdn3d, pp7, and pullup+softskip+harddup. What this means is that HB now has stateless inverse telecine, temporal denoising, and motion-adaptive deinterlacing! HandBrake is growing up =) Thank you, huevos_rancheros! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@749 b64f7644-9d1e-0410-96f1-a4d463321fa5
* This patch from eddyg should help alleviate HandBrake's audio drop issues. ↵jbrjake2007-07-251-0/+4
| | | | | | It also adds a number of beautiful comments to sync.c that really help clarify the code. Thanks, eddy! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@738 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Implement transport and program stream support. With these changes it's now ↵awk2007-07-041-1/+25
| | | | | | possible to open a .ts or .mpg files and transcode to standard Handbrake Output files. This fixes Ticket #21. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@648 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix Previous Bad commit for Cyanders Chapter Markersdynaflash2007-04-251-0/+33
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@548 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Merge the 5.1 branch into the trunk.prigaux2007-03-061-0/+253
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@422 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Merge the 0.8.0_mpeg4ip branch into the trunkprigaux2007-02-111-253/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@285 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Structural changes, in order to eventually be able to compile HBtiter2006-03-161-32/+32
| | | | | | | without certain encoders git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@34 b64f7644-9d1e-0410-96f1-a4d463321fa5
* HandBrake 0.7.0handbrake2006-01-141-0/+253
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@16 b64f7644-9d1e-0410-96f1-a4d463321fa5