---
name: "tcdecode"
section: "1"
platform: "linux"
package: "transcode"
version: "3:1.1.7-9+b4"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/tcdecode"
---

# tcdecode(1)

read multimedia streams from medium, decode to raw format and print to standard output

## NAME

tcdecode - read multimedia streams from medium, decode to raw format and print to standard output

## SYNOPSIS

- **tcdecode**

  **-i** *name* \[ **-x** *codec* \] \[ **-t** *package* \] \[ **-g** *WxH* \] \[ **-s** *c,f,r* \] \[ **-C** *s-e* \] \[ **-y** *codec* \] \[ **-Y** \] \[ **-Q** *mode* \] \[ **-A** *flag* \] \[ **-d** *verbosity* \] \[ **-v** \]

## COPYRIGHT

**tcdecode** is Copyright (C) by Thomas Oestreich.

## DESCRIPTION

**tcdecode** is part of and usually called by **transcode**.\
 However, it can also be used independently.\
 **tcdecode** reads source (from stdin if not explicitely defined) and prints on the standard output.

## OPTIONS

- **-i** *name*

  Specify input source.  If ommited, *stdin* is assumed. **tcdecode** reads streams from file or from stdin.

- **-g** *WxH*

  video frame width and height \[720x576\]

- **-C** *s-e*

  decode and print out only this frame interval (video) or bytes (audio) \[all\].

- **-x** *codec*

  source codec, if not detected of reading from stdin. This option also specifies video and audio context of the source for decoding. Currently, supported parameter for *codec* are

  | | | |
  | --- | --- | --- |
  | *mp3* | MPEG audio | (lame) |
  | *ac3* | AC3 audio | (liba52) |
  | *dv* | Digital Video DV | (libdv) |
  | *mpeg2* | MPEG video | (libmpeg2) |
  | *yv12* | Y'CbCr YUV |
  | *mov* | Quicktime | (libquicktime) |

- **-t** *package*

  Currently only argument supported is "lavc". Use the codec by -x from this package. Available (-x) codecs for *lavc* are: mpeg2, divx3, divx, divx4, mp42, mjpg, rv10, svq1, svq3, vp3, 4xm, wmv1, wmv2, hfyu, indeo3, h263p, h263i

- **-y** *codec*

  target codec.  **tcdecode**  only decodes to raw format suitable for transcode. Valid option parameter for *codec* are

  | | |
  | --- | --- |
  | *rgb* | RGB 24bit |
  | *yv12* | Y'CbCr YUV |
  | *yuy2* | 4:2:2 YUV |
  | *pcm* | SIGNED LE 16bit PCM |

- **-s** *c,f,r*

  audio gain for AC3 downmixing \[1.0,1.0,1.0\]

- **-Y**

  decoded Digital Video (raw) YUV frame is in YUY2 (packet) format using libdv. Downsample frame to YV12. PAL users should compile libdv with --with-pal-yuv=YV12 to avoid this option \[off\]

- **-A** *flag*

  audio flag for AC3/A52 decoder \[none\]. This flag determines the down-mixing configuration. Valid choices for *flag* are determined by the following bits set:

  | | |
  | --- | --- |
  | drc off | 1 |
  | demux | 2 |
  | dolby off | 4 |

  Add those numbers to turn multiple options on.

- **-Q** *mode*

  decoding quality. Certain codecs, e.g., DV with libdv allow for changing this parameter if speed is prefered over quality. Valid parameter are 1=fastest-5=best \[5\].

- **-d** *level*

  With this option you can specify a bitmask to enable different levels of verbosity (if supported).  You can combine several levels by adding the corresponding values:

  | | |
  | --- | --- |
  | QUIET | 0 |
  | INFO | 1 |
  | DEBUG | 2 |
  | STATS | 4 |
  | WATCH | 8 |
  | FLIST | 16 |
  | VIDCORE | 32 |
  | SYNC | 64 |
  | COUNTER | 128 |
  | PRIVATE | 256 |

- **-v**

  Print version information and exit.

## NOTES

**tcdecode** is a front end for decoding various sources and is used in **[transcode(1)](/transcode/1.md)**'s import modules.

## EXAMPLES

The command

```
	tcdecode -i foo.mp3 -x mp3
```

decodes an MPEG audio stream and prints raw PCM data to stdout.

The command

```
	tcextract -i foo.avi -x mp3 | tcdecode -x mp3
```

extracts an MPEG audio track from the AVI-file foo.avi and pipes the frames into the decoder

## AUTHORS

**tcdecode** was written by Thomas Oestreich\
 \<ostreich@theorie.physik.uni-goettingen.de\> with contributions from many others.  See AUTHORS for details.

## SEE ALSO

[**avifix**(1)](/avifix/1.md), [**avisync**(1)](/avisync/1.md), [**avimerge**(1)](/avimerge/1.md), [**avisplit**(1)](/avisplit/1.md), [**tcprobe**(1)](/tcprobe/1.md), [**tcscan**(1)](/tcscan/1.md), [**tccat**(1)](/tccat/1.md), [**tcdemux**(1)](/tcdemux/1.md), [**tcextract**(1)](/tcextract/1.md), [**tcdecode**(1)](/tcdecode/1.md), [**transcode**(1)](/transcode/1.md)\
