Giter VIP home page Giter VIP logo

linux's People

Contributors

adrianbunk avatar airlied avatar arndb avatar axellin avatar bigguiness avatar broonie avatar bzolnier avatar danvet avatar davem330 avatar dhowells avatar ebiederm avatar error27 avatar geertu avatar gregkh avatar htejun avatar ickle avatar jmberg-intel avatar joeperches avatar larsclausen avatar linusw avatar mchehab avatar morimoto avatar olofj avatar pmundt avatar ralfbaechle avatar rddunlap avatar skeggsb avatar tiwai avatar torvalds avatar vsyrjala avatar

Watchers

 avatar  avatar  avatar

linux's Issues

Fix "trying to overwrite '/etc/modules-load.d/tw5864.conf'"

When our kernel .deb package is installed on a host where previous our kernel package is already installed, there's such error which fails the installations:
trying to overwrite '/etc/modules-load.d/tw5864.conf'
So user must remove previous package to install new one.

Improve signal perception on noisy cams

On customer's installation (Mr. Luna) some cameras which are said to provide good picture previously, have noisy picture. No idea how to improve that. Maybe we could analyze decoding errors if there are any.

Set constraint_set1_flag

Set constraint_set1_flag even though spec doesn't say it, because the output does conform to constrained baseline profile and setting it can only improve compatibility.

(From consultant)

Add startcode emulation prevention

The problem with that particular stream is that you haven't added emulation prevention bytes to escape zeroes, so the decoder is getting confused by occasional sequences that look like start codes. For that stream, there are several glitches in the first 1000 frames, and I was able to manually add the emulation prevention bytes to make it decode without problems.

So, I think that in your driver, in the function:

static void tw5864_handle_frame(struct tw5864_h264_frame *frame)

rather than the stright copy with:

memcpy(dst, frame->vlc.addr + skip_bytes, frame_len);

you want something like:

size_t i, j;
int zero_run;
u8 *src;
...
src = frame->vlc.addr + skip_bytes;
zero_run = 0;
for (i = j = 0; i < frame_len; i++) {
  if (zero_run < 2) {
    if (src[i] == 0)
      ++zero_run;
    else
      zero_run = 0;
  } else {
    if ((src[i] & ~0x03) == 0) {
      dst[j++] = 0x03;
    zero_run = src[i] == 0;
  }
  dst[j++] = src[i];
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.