Opened 9 years ago

Closed 8 years ago

#1219 closed enhancement (fixed)

Work on ffmpeg codecs

Reported by: bennylp Owned by: bennylp
Priority: normal Milestone: release-2.0-dev
Component: applications Version: 2.0-dev-branch
Keywords: Cc:
Backport to 1.x milestone: Backported:

Description


Change History (21)

comment:1 Changed 9 years ago by bennylp

(In [3466]) Re #1219: fixed error in Linux/gcc due to unimplemented alignment macro, and remove the assembly implementation

comment:2 Changed 9 years ago by nanang

(In [3469]) Re #1219: updated stack aligning mechanism using PJ_ALIGN_DATA (see ticket #1220).

comment:3 Changed 9 years ago by nanang

(In [3486]) Re #1219: Updated H263 packetizer to just return PJ_EINVAL (instead of triggering assertion) when the supplied bitstream is invalid.

comment:4 Changed 9 years ago by bennylp

(In [3487]) libswscale rearrangement (re #1219/ffmpeg codecs): instantiate libswscale converter from the converter manager instead of having to instantiate it manually in all apps

comment:5 Changed 9 years ago by nanang

(In [3493]) Re #1219:

  • Initial version of H264 implementation (codec & packetization).
  • Added vid_codec_util.h/c for video codec utilities (e.g: fmtp parser).
  • Updated video RTP packetizations to be configurable and have internal state (to be more resilient to packet lost, etc).
  • Fixed wrong SPF calculation in PJMEDIA_SPF2.
  • Updated vid_codec_test.c to also have RTP packetization test.
  • Updated sdp_neg.c to verify H.264 capability match.

comment:6 Changed 9 years ago by nanang

(In [3494]) Re #1219:

  • Fixed assertion in H263 & H264 packetizer caused by invalid unpack_last_sync_pos after packet loss.
  • Updated ffmpeg_codecs.c to lower H264 video encoding latency.

comment:7 Changed 9 years ago by nanang

(In [3495]) Re #1219: fixed compile error of typo (accidentally undone modification before svn checkin).

comment:8 Changed 9 years ago by bennylp

(In [3496]) Re #1219: protect new ffmpeg features with #ifdefs

comment:9 Changed 9 years ago by nanang

(In [3501]) Re #1219: Added H.264 SDP fmtp "sprop-parameter-sets" to ffmpeg.

comment:10 Changed 9 years ago by bennylp

(In [3502]) Re #1219: compile error with undeclared FF_PROFILE_H264_BASELINE and FF_PROFILE_H264_MAIN

comment:11 Changed 9 years ago by nanang

(In [3522]) Re #1219:

  • Applied max RTP payload size ffmpeg setting (for customized ffmpeg patch only).
  • Updated some ffmpeg setting (qmin, qmax) for bitrate control.
  • Updated ffmpeg codec default size for decoding direction.
  • Removed own timestamp management in ffmpeg encoder.

comment:12 Changed 9 years ago by bennylp

(In [3523]) Re #1219: removed assertion if outgoing frame is larger than MTU

comment:13 Changed 9 years ago by nanang

(In [3526]) Re #1219:

  • Implemented validation of H.264 level in codec param.
  • Update H.264 packetization setting to always send single NAL unit, for better compatibility.
  • Update H.264 SDP custom negotiation to be permissive.

comment:14 Changed 9 years ago by nanang

(In [3528]) Re #1219: increased MPI array size in pjmedia_vid_codec_h263_fmtp.

comment:15 Changed 9 years ago by bennylp

(In [3529]) Re #1219: attempt to fix crash in H.263

comment:16 Changed 9 years ago by bennylp

(In [3530]) Re #1219: attempt to fix crash in H.264 decoding

comment:17 Changed 9 years ago by nanang

(In [3532]) Re #1219: fix major bug in h263 packetizer in seeking logic of sync point (double zero).

comment:18 Changed 9 years ago by bennylp

(In [3533]) Re #1219: added configure option to specify ffmpeg path

comment:19 Changed 8 years ago by nanang

(In [3562]) Re #1219: Removed decoded buffer size validation before decoding process itself, as the decoded buffer size requirement will be known after successful decoding.

comment:20 Changed 8 years ago by nanang

(In [3563]) Re #1219: silly mistake, missing the real fix of r3562.

comment:21 Changed 8 years ago by bennylp

  • Milestone changed from release-2.0-alpha to release-2.0-dev
  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.